Я пытаюсь разрешить только несколько URL-адресов в конкретном домене, все остальные запросы должны быть перенаправлены на 404 Not Found. Я знаю, как перенаправить конкретный URL-адрес на 404, но мне нужно как инверсия этого. Как написать такое правило, какие условия я должен использовать? Есть что-то вроде not match
в синтаксисе правил?Как перенаправить все запросы за исключением нескольких, используя модуль перезаписи IIS
Итак, что я в настоящее время с помощью:
<rule name="Deny some request" enabled="true" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="(.*)(\.domain_regexp_here.*)$" negate="true" />
<add input="{REQUEST_URI}" pattern="(.*)(somename)$" />
</conditions>
<action type="Redirect" url="/Home/PageNotFound" appendQueryString="false" />
</rule>
Но поскольку сейчас слишком много таких правил, так что я могу даже пропустить некоторые из них, и именно поэтому я хочу, чтобы упростить немного, так что я разрешаю некоторые URL-адреса и перенаправляю все остальные в NotFound.