我正在尝试将https://www.example.com重定向到http://www.example.com。我在.htaccess文件中尝试了以下代码
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
此代码成功地将https://example.com重定向到http://www.example.com。然而,当我输入https://www.example.com时,浏览器中就会出现“网页不可用”的错误。
我也尝试了以下两个代码,但没有成功
尝试1
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*):NOSSL$ http://www.example.com/$1 [R=301,L]
尝试2
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}
上述两次尝试都失败了。有什么建议吗?
发布于 2012-10-22 01:02:49
尝试2接近完美。只需稍微修改一下:
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
发布于 2014-07-30 01:45:50
但是,如果您的网站没有安全证书,它在共享主机环境中,并且您不想在通过https请求您的网站时收到“警告”,您不能使用htaccess重定向它。原因是警告消息甚至在请求到达htaccess文件之前就被触发了,所以您必须在服务器上修复它。转到/etc/httpd/conf.d/ssl.conf并注释掉关于虚拟服务器443的部分。但是很有可能你的主机提供商不会给你那么多的控制权。所以你要么换个主机,要么购买SSL,这样在htaccess有机会重定向之前,警告就不会被触发。
发布于 2014-07-20 19:18:52
RewriteEngine On
RewriteCond %{SERVER_PORT} 443
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
https://stackoverflow.com/questions/12999910
复制相似问题