我使用的工具称为:来自Helicon技术的ISAPI重写3精简版(“用于IIS的”apache .htaccess mod_rewrite兼容模块“)。ISAPI重写 - “重定向非www版本到www”规则与SSL
我已经应用了“重定向非www版本到www”规则(来自:http://www.helicontech.com/isapi_rewrite/doc/examples.htm#hotlinking)。即:
RewriteEngine on
RewriteCond %{HTTPS} (on)?
RewriteCond %{HTTP:Host} ^(?!www\.)(.+)$ [NC]
RewriteCond %{REQUEST_URI} (.+)
RewriteRule .? http(?%1s)://www.%2%3 [R=301,L]
这工作正常,但我使用SSL时浏览器警告有一个小问题。 假设我想要一个url请求:https://MyDomain.com/abc/login.aspx重定向到:https://www.MyDomain.com/abc/login.aspx 浏览器将显示如下警告:“本网站提供的安全证书是针对不同网站的地址发布的。”这是有道理的,因为我们的SSL证书只适用于“www.MyDomain.com”(而不是“MyDomain.com”)。如果您点击“继续浏览本网站?”它很好地重定向到所需的网址,并且一切都很好。
我的问题:有什么可以做的浏览器SSL证书警告不会出现吗? (最好不用更改SSL证书)。
谢谢。
编辑:
我希望有一些办法让ISAPI重写更改URL,从而使IIS不“看”的要求:“MyDomain.com”,并且只看到修改后的请求为:“www.MyDomain.com”(以便SSL证书警告不会发生)。我认为这可能是一个时间问题。但它看起来像事件的时间是固定的,这样IIS将始终在原始请求的上下文中检查SSL证书?任何人都可以确认吗?
更新我的答案以回应您的编辑。 – 2012-02-28 07:22:18