Подтвердить что ты не робот

IIS url переписывает роль, за исключением некоторых URL-адресов

Я получил это правило в URL rewrite, которое переписывает каждый запрос к сайту, используя HTTP для HTTPS

<rule name="Force HTTPS" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
                </rule>

Мне нужно другое правило или исключение в этой роли, чтобы переписать назад или перенаправить определенные URL-адреса в HTTP.

Это возможно?

4b9b3361

Ответ 1

Вы можете добавить исключения, для которых вы не хотите перенаправлять HTTPS в качестве дополнительных условий (не равных этому URL), например:

<rule name="Force HTTPS" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAll">
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
        <add input="{REQUEST_URI}" negate="true" pattern="^/noredirect/forthis/page\.aspx$" ignoreCase="true" />
        <add input="{REQUEST_URI}" negate="true" pattern="^/noredirect/forthis/page-as-well\.aspx$" ignoreCase="true" />
        <add input="{REQUEST_URI}" negate="true" pattern="^/noredirect/forthis/page-as-well-too\.aspx$" ignoreCase="true" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>