IIS Web.config重写规则问题

时间:2016-10-06 16:23:23

标签: iis url-rewriting

我最近将我的网站从http移到了https 我的SSL证书适用于www.domain.com而不适用于domain.com,即使用www作为前缀。

现在我面临一个问题,当有人以http://www.domain.com访问我的网站时,它会重定向到htts://www.domain.com而没有任何问题,因为我已经提到了web.config重写规则中的永久重定向使用以下规则

<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true"> 
<match url="(.*)" /> 
<conditions logicalGrouping="MatchAll">
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
        <add input="{REQUEST_URI}" negate="true" pattern="^/mobile.asmx*" ignoreCase="true" />
</conditions> 
<action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" />
</rule>   
  </rules>
</rewrite>

但是,有些人正在尝试http://domain.com我收到证书错误,因为SSL证书适用于带有www前缀的域。

我需要帮助的是重写应该如下工作: 如果请求来自http://www.domain.com,请将其移至https://www.domain.com 但是,如果请求来自http://domain.com,那么也请将其移至https://www.domain.com

请尽可能提供帮助,因为问题出在网站上。

1 个答案:

答案 0 :(得分:0)

我明白了,我只需要添加 www。

<action type="Redirect" redirectType="Permanent" url="https://www.{HTTP_HOST}/{R:1}" />