我有一个强制 HTTPS 和 www 的重写规则。SSL 证书适用于网站的 www 版本。整个站点需要是 HTTPS。
问题是如果请求是https://example.com/,浏览器会在重定向执行之前显示一个警告页面。(Firefox 中的“此连接不受信任”和 Chrome 中的“这可能不是您要查找的站点!”)
如果用户在 Firefox 中添加异常或忽略 Chrome 中的错误,则会执行重写规则,并将他们重定向到具有 100% 安全页面的网站的 www 版本。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com$ [OR]
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
我一直在测试网站上的规则以及http://martinmelin.se/rewrite-rule-tester/
如何在浏览器警告之前执行重定向?