IIS 8.5 将非 www 重定向到 www 不工作

IIS 8.5 redirect non www to www not working

这是我的 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>

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

问题出在用于检测非 www 的模式。
你应该像这样替换它:

<add input="{HTTP_HOST}" pattern="^zzz.com$" />

遇到同样的问题,我通过编辑站点的绑定并为 zzz.com 添加额外的绑定来修复它,仅用于 http。