Je veux rediriger quelques pages d'un ancien site (oldsite.com) à un nouveau site Web selon les règles suivantes (de newsite *.):IIS URL Rewrite annule les conditions de travail ne
- Tout premier niveau les enfants (/ sv,/no,/da, etc.) doivent rediriger vers leurs homologues respectifs, ie newsite.se, newsite.no, newsite.dk, etc.
- Tous les autres enfants/descendants doivent rediriger vers la racine du nouveaux sites aussi, sauf/page1 et/page2 et ses descendants.
Pour cela, je l'ai créé les règles suivantes (pour sv dans ce cas):
<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>
La première règle fonctionne très bien, mais pas la seconde. Le problème est que mes conditions négatives ne semblent pas fonctionner. Quand je rentre oldsite.com/sv/page1 je suis toujours redirigé vers newsite.se. Peut-être ai-je mal compris comment fonctionnent les conditions niées, mais la deuxième règle ne devrait-elle pas exécuter l'action si et seulement si les deux conditions sont vraies (évaluer à faux), ie le REQUEST_URI ne correspond pas match/page1 et/page2?