几周前,我的ISP在我的网站上安装了SSL证书。要强制所有URL(www和非www,http和https)到同一个URL(https://domain.com/),我使用了以下.htaccess代码:
RewriteCond %{HTTP_HOST} ^www\.domain\.com [NC]
RewriteRule ^(.*)$ https://domain.com/$1 [L,R=301]
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
现在,这适用于正确重定向URL。但是,有时,图像无法正确加载并在Chrome控制台中吐出“无法加载资源:net :: ERR_TOO_MANY_REDIRECTS”。其他浏览器也无法加载图像。
临时修复是重命名我的服务器上的图像并尝试再次加载它们。错误似乎是随机发生的。这些图像可能已经正确加载数天,然后突然拒绝加载。
任何人都知道为什么会发生这种情况?
答案 0 :(得分:2)
请尝试这个
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
此外,您还可以根据端口号重定向,例如:
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]