Я хочу, чтобы перенаправить некоторые страницы из старого сайта (oldsite.com) на новый веб-сайт в соответствии со следующими правилами (NewSite *.):IIS URL Rewrite отрицают условия не работают
- Все первого уровня дети (/ sv,/no,/da и т. д.) должны перенаправлять свои соответствующие коллеги, т. е. newsite.se, newsite.no, newsite.dk и т. д.
- Все остальные дети/потомки должны перенаправляться в корень новые сайты, а также кроме/page1 и/page2 и его потомков.
Для этого я создал следующие правила (для св в данном случае):
<rule name="Redirect /sv to .se" stopProcessing="true">
<match url="^sv/?$" />
<action type="Redirect" url="http://newsite.se" />
</rule>
<rule name="Redirect /sv/* except some pages" stopProcessing="true">
<match url="^sv/.+" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_URI}" pattern="^sv/page1(.*)" negate="true" />
<add input="{REQUEST_URI}" pattern="^sv/page2(.*)" negate="true" />
</conditions>
<action type="Redirect" url="http://newsite.se" />
</rule>
Первое правило отлично работает, но не второй. Проблема в том, что мои отрицательные условия, похоже, не работают. Когда я вхожу в oldsite.com/sv/page1, я все равно перенаправляюсь на newsite.se. Возможно, я неправильно понял, как работают отрицательные условия, но не следует, чтобы второе правило выполняло действие тогда и только тогда, когда оба условия истинны (оцениваются как ложные), т. Е. REQUEST_URI не match/page1 и/page2?