Veuillez m'aider à comprendre les cartes de réécriture, j'ai cette configuration:
<rewriteMap name="MyMap">
<add key="/pages" value="/website/pages/index.aspx" />
<add key="/pages/page-1" value="/website/pages/page-1/index.aspx" />
<add key="/pages/page-1/section-1" value="/website/pages/page-1/section-1.aspx" />
</rewriteMap>
Voici ma règle:
<rule name="Rewrite rule for MyMap" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{MyMap:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Rewrite" url="{C:1}" appendQueryString="true" />
</rule>
Cela fonctionne si j'essaie d'accéder à ces pages:
- www.mydomain.com/pages (OK)
- www.mydomain.com/pages/page-1 (OK)
- www.mydomain.com/pages/page-1/section-1 (OK)
Mais je veux la possibilité d'ajouter une chaîne de requête sur l'une de ces pages, exemple:
- www.mydomain.com/pages?page=1 (FAIL)
Lorsque j'essaie d'accéder à cette page, j'obtiens un 404. Comment puis-je le faire fonctionner?
À la place d'utiliser
vous pouvez aussi essayer
Vois ici:
Impossible d'obtenir des redirections statiques pour fonctionner avec IIS Url Rewrite 2.0
la source