Исключить страницу из правила перенаправления ssl

У меня есть правило перезаписи в моем web.config, которое заставляет все страницы переходить на https. Есть ли способ исключить одну страницу.

Так, например, не требуется http://www.example.com/thispage.ashx для перенаправления на https, как я могу изменить правило, чтобы исключить его?

<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}" redirectType="Permanent" />
</rule>

person Matt    schedule 07.05.2018    source источник


Ответы (1)


Вы можете создать дополнительное условие, которое соответствует всем URL, кроме /thispage.ashx.

<rule name="Redirect to HTTPS" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
        <add input="{URL}" pattern="^/thispage\.ashx$" negate="true" />
        <add input="{HTTPS}" pattern="^OFF$" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>

Примечание. Чтобы протестировать новое правило, убедитесь, что вы очистили кэш браузера для веб-сайта, над которым работаете. В противном случае вы можете не проверить, работает ли правило, из-за кэшированных ответов перенаправления на стороне клиента.

person Kul-Tigin    schedule 07.05.2018