首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用htaccess将Https重定向到http

使用htaccess将Https重定向到http
EN

Stack Overflow用户
提问于 2012-10-22 00:44:57
回答 6查看 273.9K关注 0票数 75

我正在尝试将https://www.example.com重定向到http://www.example.com。我在.htaccess文件中尝试了以下代码

代码语言:javascript
复制
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

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*):NOSSL$ http://www.example.com/$1 [R=301,L]

尝试2

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}

上述两次尝试都失败了。有什么建议吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-10-22 01:02:49

尝试2接近完美。只需稍微修改一下:

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
票数 124
EN

Stack Overflow用户

发布于 2014-07-30 01:45:50

但是,如果您的网站没有安全证书,它在共享主机环境中,并且您不想在通过https请求您的网站时收到“警告”,您不能使用htaccess重定向它。原因是警告消息甚至在请求到达htaccess文件之前就被触发了,所以您必须在服务器上修复它。转到/etc/httpd/conf.d/ssl.conf并注释掉关于虚拟服务器443的部分。但是很有可能你的主机提供商不会给你那么多的控制权。所以你要么换个主机,要么购买SSL,这样在htaccess有机会重定向之前,警告就不会被触发。

票数 39
EN

Stack Overflow用户

发布于 2014-07-20 19:18:52

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{SERVER_PORT} 443
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12999910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档