2014-04-09 350 views
3

本地主机我的工作在当地一个网站,其中包含HTTPS链接上,所以当我点击这些链接就带我到https://localhost/...不存在因为没有安装SSL证书之一。重定向到HTTPS HTTP只

有什么我可以添加到.htaccess,检查我是否在localhost,如果是这样重定向httpshttp? .htaccess文件在本地的研发和生产中使用我们的服务器上,所以,只要我添加一定不能影响生活的网站。

回答

4

都能跟得上。

原因是一旦请求已经取得,这意味着一旦https://localhost/请求时,它会只有得到应用,你把你的htaccess文件的任何规则才会得到应用。如果没有任何内容正在监听本地主机上的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] 
+0

我明白了,谢谢你的解释。然后我会考虑安装证书。干杯! –

+1

@AdamMcElroy如果你不介意的开销(只为本地开发),你可以看看[mod_proxy_html(http://httpd.apache.org/docs/current/mod/mod_proxy_html.html),这将让你重写链接*您内容中*这是本地主机链接变成了http和你不需要使用mod_rewrite –