某些版本的 Chrome 会自动将 https 添加到我的网站地址。所以我需要将 https 重定向到 http,因为我没有 SSL 证书。我尝试这样做,但没有结果:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =https
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
答案1
如果没有证书,浏览器就无法通过 HTTPS 与您的服务器通信,而您的服务器也没有机会向浏览器回复 301。
简而言之,如果没有正确配置的 HTTPS 服务器(包括证书),您就无法执行此操作。
答案2
要使用 .htaccess 将 https 流量重定向到 http,您可以这样做
RewriteEngine On
RewriteCond %{HTTPS} =on
RewriteRule .* http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
或者
RewriteEngine On
RewriteCond %{SERVER_PORT} ^443$
RewriteRule .* http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
但是如果谷歌将流量重定向到 https,它将产生重定向循环,因此您可能必须找到流量重定向到 https 的原因(可能是缓存,尝试使用另一个浏览器清除任何请求)