Назад | Перейти на главную страницу

Перенаправить IIS с несколькими доменами

В IIS7 существует правило автоматического перенаправления на HTTPS, которое используется нашим сайтом.

<rule name="Redirect to HTTPS" enabled="true" stopProcessing="false">
    <match url="(.*)" />
    <conditions>
        <add input="{HTTPS}" pattern="^OFF$" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
</rule>

Мы добавляем новый домен (например, www.newdomain.com) на наш сайт, который использует то же веб-приложение, но с другой обработкой URL. При доступе на newdomain.com или аналогично www.newdomain.com пользователь должен быть перенаправлен на https://www.newdomain.com/example, поскольку в настоящее время у нас нет SSL-сертификата для newdomain.com. Однако в нашем существующем домене используется отдельный субдомен, отличный от www, который нам не нужно обрабатывать IIS. Для обработки этого перенаправления я использую следующее правило:

<rule name="Redirect newdomain" enabled="true" stopProcessing="false">
    <match url="(^$)" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^(www\.)?newdomain\.com$" />
    </conditions>
    <action type="Redirect" url="https://www.newdomain.com/example" appendQueryString="true" redirectType="Permanent" />
</rule>

Это правило работает при доступе к сайту с www.newdomain.com. Однако при попытке доступа к newdomain.com без поддомена перенаправление происходит только для исходного правила, и пользователь направляется на https://newdomain.com, и ошибка сертификата SSL. Как я могу получить перенаправление для установки правильного поддомена, не влияя на какие-либо сайты, только используя другое правило?