.htaccess (mod_rewrite) рекурсия в обработке% {HTTP_HOST} - PullRequest
0 голосов
/ 06 октября 2011

Моя цель - смоделировать виртуальные хосты, используя mod_rewrite в .htaccess, так что http://dog.animal.com внутренне сопоставляется с WEBROOT / public_html / dog /, cat.animal.com внутренне сопоставляется с WEBROOT / public_html / cat /, где собака и cat - установленные имена пользователей в системе.

У меня есть (в .htaccess в WEBROOT):

RewriteCond   %{HTTP_HOST}                 ^[^.]+\.animal\.com$
RewriteRule   ^(.+)                        %{HTTP_HOST}$1          [C]
RewriteRule   ^([^.]+)\.animal\.com(.*) /public_html/$1$2

Но при запросе dog.animal.com я получаю следующий цикл

Запрещено. У вас нет разрешения на доступ / Public_html / dogpublic_html / dogpublic_html / dogpublic_html / dogpublic_html / ..... и т. д.

Очевидно, я упускаю из виду нечто глупо очевидное. Буду признателен за любые указатели!

(я должен сказать, что в приведенном выше примере в файле зоны есть записи A для двух поддоменов)

1 Ответ

0 голосов
/ 06 октября 2011

Во втором правиле перезаписи вы используете / public_html, который ссылается на root. Попробуйте удалить начальный / или поставить полный путь с помощью WEBROOT

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...