IIS 8.5 将非 www 重定向到 www 不起作用

IIS 8.5 将非 www 重定向到 www 不起作用

这是我的 Web.Config 的相关部分:

 <rule name="Force WWW and SSL" enabled="true" stopProcessing="true">
   <match url="(.*)" />
   <conditions logicalGrouping="MatchAny">
      <add input="{HTTP_HOST}" pattern="^[^www]" />
      <add input="{HTTPS}" pattern="off" />
   </conditions>
   <action type="Redirect" url="https://www.zzz.com/{R:1}" appendQueryString="true" redirectType="Permanent" />
 </rule>

这是我的 Web.Config 的相关部分:

它会将 http 重写为 https,但不会按照我的 cms 需要添加 www。我尝试了几种变体,但 Win2012R2 上的 IIS 8.5 似乎拒绝遵循 www 规则。有什么想法吗?

答案1

尝试一下:

<rule name="Canonical Host Name (HTTPS)">
    <match url="(.*)" />
    <conditions>
        <add input="{HTTPS}" pattern="(on)" ignoreCase="false" negate="true" />
        <add input="{HTTP_HOST}" pattern="^(?!www\.)(.+)$" />
    </conditions>
    <action type="Redirect" url="http://www.{C:0}/{R:1}" />
</rule>

相关内容