Как получить рабочее правило с несколькими условиями отрицания в IIS URL Rewrite? - PullRequest
0 голосов
/ 02 октября 2019

Я использую Url Rewrite 2.0 в IIS (8.5), и он настроен на сброс соединения, когда переменные не содержат определенных значений. Когда я использую только одно (любое) условие, правило работает как положено (переход на сайт). Но когда я хочу добавить другое условие и, используя оба, я получаю запрос на прерывание (даже если параметр логической группы определен как MatchAny). Ниже приведен фрагмент файла web.config:

<rule name="Drop" enabled="true" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAny" trackAllCaptures="false">
        <add input="{HTTP_AppId}" pattern="test.app" negate="true" />
        <add input="{HTTP_USER_AGENT}" pattern="iPhone|Android" negate="true" />
    </conditions>
    <action type="AbortRequest" />
</rule>

AppId - это настраиваемый заголовок, используемый в запросе.

Цель этой задачи - добиться передачи запросов на основе любого из этих условий ифильтрация других.
Как заставить работать правило с несколькими условиями отрицания?

...