将HTTPS重写为HTTP,活动证书不起作用

时间:2012-01-09 16:59:30

标签: apache .htaccess mod-rewrite

当我键入http://domain.com时,我为域安装了HTTPS证书,当我键入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 :(得分:0)

  

当我输入https://domain.com时,它不会重定向到http。

您的RewriteCond指令将规则限制为以www开头的域名,因此与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中的唯一规则)。

如果您解释每个规则的意图,我将能够提供更好的答案