Назад | Перейти на главную страницу

цикл перенаправления mod_rewrite при форсировании www. на домене

Я пытаюсь заставить 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