Проблема с использованием mod_rewrite для поддержки канонического URL

У меня возникли некоторые проблемы с mod_rewrite, и я подозреваю, что делаю основную ошибку.

Моя цель состоит в том, чтобы настроить каноническую форму на моем сервере таким образом, чтобы весь доступ (по домену или IP-адресу) осуществлялся без изменений к субдомену https: // и www. например https://www.example.com

Вот мои правила переписывания:

Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^99\.100\.101\.102
RewriteCond %{HTTP_HOST} ^example\.com [nc]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

# Force https
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

Кажется, что это работает, за исключением: https: // example.com ... который не переписывается с помощью www. суб-домен и отключает предупреждение сертификата.

Какую школьную ошибку я допустил? : -)

/ Уоррен

0
задан 15 April 2015 в 14:04

1 ответ

Ваш файл работает на меня, если я добавляю это вначале

RewriteEngine on

, Но я предполагаю, что Вы включили mod_rewrite по умолчанию.

, Так как Вы используете постоянный 301 заголовок, это может быть проблема кэша браузера от более ранние версии правил..?

Сделал Вас, пытался сбросить кэш браузера? Или попробованный другой браузер, который Вы не использовали прежде?

можно также попытаться добавить [OR] в конце первого условия:

RewriteCond %{HTTP_HOST} ^99\\.100\\.101\\.102 [OR]
0
ответ дан 16 April 2015 в 00:04

Другие вопросы по тегам:

Похожие вопросы: