Я пытаюсь заставить www. только на рабочем сервере. Я не хочу влиять на домен промежуточного сервера. Вот мое текущее правило:
# Force www
RewriteCond %{HTTP_HOST} !^www.mydomain.com$ #production
RewriteCond %{HTTP_HOST} !^mydomain.s2.mycompany.com$ #staging
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301]
В принципе, если хост не является www.mydomain и хост не mydomain.s2 .... тогда я хочу перенаправить на www.mydomain.com. С помощью приведенного выше кода я получаю цикл перенаправления.
Любые идеи?
Добавьте флаг «Последний» или [L] в RewriteRule, например: [R=301,L]
:
RewriteCond %{HTTP_HOST} !^www.mydomain.com$ #production
RewriteCond %{HTTP_HOST} !^mydomain.s2.mycompany.com$ #staging
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]
Это должно остановить цикл.
Вы можете просмотреть документы для RewriteRule
директива (и другие) здесь: http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewriterule