仅在localhost上将HTTPS重定向到HTTP

时间:2014-04-09 22:32:29

标签: .htaccess http ssl https localhost

我正在本地工作的网站上包含https链接,因此当我点击其中一个链接时,由于没有安装SSL证书,我需要https://localhost/...,因为没有SSL证书。

我可以向.htaccess添加任何内容,检查我是否在本地主机上,如果是,请将https重定向到http? .htaccess文件用于我们服务器上的本地开发和生产,因此我添加的任何内容都不得影响实时网站。

1 个答案:

答案 0 :(得分:4)

不。

原因是您在htaccess文件中添加的任何规则只有在请求生成后才会被应用,这意味着只有https://localhost/请求才会应用它制作。如果没有在localhost上监听HTTPS端口(443),那么规则将永远不会被应用。

如果端口443 正在侦听localhost上的请求,但这只是缺少SSL证书的问题,规则仍然无法应用,直到之后执行SSL握手,这意味着,您仍然会收到有关证书的安全警告。

话虽如此,如果您使用apache侦听端口443并安装了证书,那么您想要的规则是:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^localhost$ [NC]
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [L,R]