У меня есть сервер Windows 2008, на котором работает IIS7.5 с использованием перезаписи URL.
У меня есть URL-адрес, и я хочу, чтобы все перестановки этого URL-адреса перенаправляли на безопасную версию https с www. Так, например, я хочу следующее:
Чтобы перенаправить на:
Я установил 3 правила перезаписи, но, к сожалению, не могу заставить https://mydomain.ext перенаправляться.
Вот перезаписи, которые я использую, но средний не работает. Однако я бы предпочел одно правило для всех случаев.
<!-- Redirect http non www to https www -->
<rule name="Redirect http://mydomain.ext to www" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{HTTP_HOST}" pattern="mydomain.ext" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
<!-- Redirect https non www to http www -->
<rule name="Redirect https://mydomain.ext to www" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{HTTP_HOST}" pattern="https://mydomain.ext" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
<!-- Redirect http to https -->
<rule name="Redirect http to https" enabled="true">
<match url="(.*)" ignoreCase="false" />
<conditions>
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>