#.htaccess #mod-rewrite #subdomain #symfony #vhosts
#.htaccess #перезапись мода #поддомен #symfony #vhosts
Вопрос:
Я пытаюсь настроить веб-сайт на основе symfony2. Все в порядке, но на определенном сервере настроен способ виртуальных хостов apache, а .htaccess в веб-корне symfony вызывает бесконечный цикл.
Если у кого-то есть подсказка, как заставить его работать, ничего не меняя в коде symfony (потому что он должен работать на других серверах). Единственное, что я могу изменить, это настройки хостов и .htaccess.
Вот конфы :
Vhosts (поддомен) :
RewriteEngine on
RewriteCond %{HTTP_HOST} ^name.domain.fr [NC]
RewriteRule ^/(.*)$ /name/web/$1 [L]
Symfony2 .htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
Спасибо за помощь 🙂
Ответ №1:
Добавьте условие, чтобы проверить, не находится ли оно уже в каталоге /name .
RewriteEngine on
RewriteCond %{HTTP_HOST} ^name.domain.fr [NC]
RewriteCond %{REQUEST_URI} !^/name/
RewriteRule ^/(.*)$ /name/$1 [L]
Приветствую, Джефф
Комментарии:
1. Спасибо за ответ. Я просто отредактировал, потому что реальная строка есть
RewriteRule ^/(.*)$ /name/web/$1 [L]
, и поэтому я добавилRewriteCond %{REQUEST_URI} !^/name/web/
. Но это все равно не работает. Есть какие-нибудь подсказки? Спасибо2. Снова я 🙂 После некоторых тестов все в порядке. Ваше правило было правильным. Большое спасибо!
3. Нет проблем с plopoz. Просто подумав об этом еще раз, вам, возможно, придется добавить некоторые обратные ссылки, если это часть регулярного выражения. / вместо того, чтобы просто /