В итоге я решил это самостоятельно - я использовал комбинацию двух разных правил (одно для перезаписи http://domain.com на https: //www.domain.com, к которому привязан сертификат), а другой просто перенаправляет все запросы HTTPS, и, похоже, он работает отлично. Вот соответствующая запись конфигурации:
<rewrite>
<rules>
<rule name="CanonicalHostNameRule1">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.domain\.com$" negate="true" />
</conditions>
<action type="Redirect" url="http://www.domain.com/{R:1}" />
</rule>
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>
Я знаю, что вы можете взять с собой весь URL-адрес, если вы настроите перенаправления в IIS, если вы используете атрибут appendUrlTrail = "true" . Возможно, вы могли бы добавить его в тег . Не уверен, работает он или нет: -)