В моем файле web.config есть следующее правило. Как видите, он берет все поддомены и перенаправляет на www.
У меня также есть модуль HTTP, который переключает между HTTP и HTTPS в событии OnPreRequestHandlerExecute. Из того, что я прочитал и понял, это происходит после перезаписи, но я могу ошибаться.
Этот код действительно работает в Firefox, переходя на www. затем HTTPS там, где это необходимо, однако он не работает ни в Chrome, ни в IE, поддерживая схему HTTP.
Я хотел бы внести некоторые изменения в приведенный ниже код, чтобы схема была перенесена, а не просто предполагать HTTP, как это происходит в данный момент.
<rewrite xdt:Transform="Insert">
<rules>
<rule name="Redirect to www">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" negate="true" />
</conditions>
<action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>