Переписать HTTPS в HTTP с активным сертификатом не работает - PullRequest
0 голосов
/ 09 января 2012

У меня установлен сертификат HTTPS для домена, когда я печатаю http://domain.com, он работает, когда я печатаю https://domain.com, он не перенаправляется на http. Мой .htaccess имеет

Options +FollowSymlinks
RewriteEngine On

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

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

1 Ответ

0 голосов
/ 09 января 2012

при вводе https://domain.com он не перенаправляется на http.

Ваша директива RewriteCond ограничивает правило доменами, начинающимися с www, поэтому не будетсоответствует вашему тестовому URL-адресу domain.com.

Вы можете либо протестировать с помощью https://www.domain.com, либо изменить правило, как показано ниже

RewriteCond %{HTTPS} on
#make the www optional
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$ [NC]
RewriteRule ^(.*)$ http://%2/$1 [R=301,L]

Однако мне не нравится это решение, потому что я не могупонять, что вы преследуете за каждым из правил, например, второе правило, которое у вас есть, должно вызывать бесконечное перенаправление (при условии, что это единственные правила в вашем .htaccess).

Если вы объясните, каково ваше намерение для каждого правила, я смогу дать лучший ответ

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