【发布时间】:2012-07-23 07:43:38
【问题描述】:
我有一个强制 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/
如何在浏览器警告之前执行重定向?
【问题讨论】:
-
这个问题可能是重复的,但我认为这里的问题说得更清楚一些,恕我直言。
-
如果您搜索“certificate ssl www non-www”(在 SO、SF 或 Webmasters.SE 上),会有很多问题,但我想其中一些问题确实并不完全清楚。
标签: http .htaccess mod-rewrite