Вот соответствующий фрагмент моего 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, но не добавит www, как того требует моя cms. Я пробовал несколько вариантов этого, и мне кажется, что IIS 8.5 на Win2012R2 отказывается следовать правилу www. Любые идеи?
Попробуйте это:
<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>