我在一个包含 https 链接的本地网站上工作,所以当我点击其中一个链接时,它会将我带到 https://localhost/...
,但它不存在因为没有安装 SSL 证书。
有什么我可以添加到 .htaccess
的东西来检查我是否在本地主机上,如果是,则将 https
重定向到 http
? .htaccess 文件用于我们服务器上的本地开发和生产,因此我添加的任何内容都不能影响实时网站。
最佳答案
没有。
原因是您在 htaccess 文件中放置的任何规则都只会在发出请求后应用,这意味着它只会在 https://localhost/
发出请求。如果没有任何内容在本地主机上监听 HTTPS 端口 (443),则永远不会应用规则。
如果端口 443 正在 监听本地主机上的请求,但这只是缺少 SSL 证书的问题,规则仍然不会应用,直到 执行 SSL 握手,这意味着您仍然会收到有关证书的安全警告。
也就是说,如果您让 apache 监听端口 443 并安装了证书,您想要的规则是:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^localhost$ [NC]
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [L,R]
关于.htaccess - 仅在本地主机上将 HTTPS 重定向到 HTTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22975214/