LINUX.ORG.RU
ФорумAdmin

Нестандартная задачка с Apache, mod_rewrite и SetHandler


0

1

Итак, есть некий виртуальный хост, в котором должны ужиться: а) проект на Zend Framework и б) его документация и и багтрекер в виде trac (доступного через URL вида сайт/trac)

Если бы проект не использовал Zend, решение было бы стандартным - в конфиг хоста вписывается <Location /trac> и далее по тексту примера Но тонкость Zend в том, что в корне проекта лежит .htaccess вида:

RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L]

Судя по документации Apache (http://httpd.apache.org/docs/2.2/sections.html#mergin), сначала обрабатываются <Directory>, потом .htaccess, и уже только потом <Location>. Я сильно подозреваю, что после .htaccess этот самый <Location /trac> уже не подцепляется. Если убрать .htaccess, то проект перестает работать (что естественно), но начинает работать багтрекер - то есть <Location> у меня описан правильно. Я так понимаю, что надо или мудрить с mod_rewrite (исключения?), но это делать бы не хотелось, так как установка трекера к проекту не относится. Или как-то изыскать возможность обработки URL вида /trac до момента, когда все дойдет до .htaccess в корневой директории виртуального хоста.

Прошу прощения за некоторую сумбурность, опыта еще очень мало

Заведи домен trac.сайт и новый vhost.

P.S. Ваши апачи с модреврайтами такая херня, если честно.

power
()
Ответ на: комментарий от power

Да, это самое правильное (не требует вмешательства в файлы проекта и решается конфигом сервера) и очевидное решение, согласен.

Просто было интересно, можно ли сделать так, как сформулировано в исходной задаче...

santafox
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.