Добавьте www в URL для HTTP и HTTPS - PullRequest
0 голосов
/ 23 марта 2011

У меня есть несколько страниц на моем веб-сайте, которые используют http, и другие страницы, которые используют https. Теперь я хочу использовать mod_rewrite для добавления www ко всем URL, независимо от того, используют ли они http или https.

У меня есть текущий код в .htaccess:

RewriteCond %{HTTP_HOST} ^domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !index.php
RewriteCond $1 !^(index\.php|public|assets|robots\.txt)
RewriteRule ^(.*)$ ./index.php/$1 [L]

Пожалуйста, сосредоточьтесь только на первых двух строках, так как остальные предназначены для других правил перезаписи, но я включил их на случай, если они вызвали какие-либо ошибки для моих первых двух строк.

Теперь это перенаправляет все страницы на http, но я хочу, чтобы страницы, использующие https, были перенаправлены на правильный протокол. Я попытался найти решение для потока в StackOverflow ( перенаправление htaccess для не-www и http и https ), но оно не работает для меня.

1 Ответ

0 голосов
/ 23 марта 2011

Ответ, который вы связали, должен работать отлично.Если это не работает, переменная HTTPS, вероятно, не установлена.Обычно это происходит потому, что вы не используете HTTPS на вашем сервере Apache.Возможно, у вас есть прокси или балансировщик нагрузки?В этом случае вам нужно убедиться, что переменная HTTPS установлена.Нечто подобное часто делает свое дело (пример работает для балансировщиков эластичных нагрузок amazon):

SetEnvIf X-Forwarded-Proto https HTTPS=1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...