Je souhaite créer une règle de réécriture d'URL générique dans IIS 7.5 (sur Windows Web Server 2008 R2).IIS make URL Réécriture gourmande
Je voudrais correspondre à l'URL suivante:
www.mysite.com/param
www.mysite.com/folder1/
www.mysite.com/folder1/param
www.mysite .com/dossier1/dossier2/
www.mysite.com/folder1/folder2/param
Notez le slash (/) quand je voudrais correspondre un dossier, sinon il est un paramètre.
J'ai mis en place la règle suivante:
^(?:([^/]+)/)?(?:([^/]+)/)?([^/]+)?$
Il dispose de trois clauses correspondantes: {R: 1}, {R: 2} et {R: 3}. Cependant, quand je entrée le test-URL suivante:
folder1/param
Je reçois la réponse suivante:
{R: 1} est vide
{R: 2} = folder1
{R: 3} = param
Je soupçonne la réponse suivante:
{R: 1} = folder1
{R: 2} est vide
{R: 3} = param
I.e. Je veux dossier1 être mappé à la première partie du modèle de réécriture.
Je voudrais cartographier la règle de réécriture à:
/controller.php?folder1={R:1}&folder2={R:2}¶m={R:3}
Qu'est-ce que je manque pour obtenir le match pour être gourmand, à savoir la première clause correspondent possible?
Cela fonctionne. Je n'ai pas voulu aller à cette étape, parce que mon problème actuel a 4 niveaux (pas seulement les deux fournis dans la question pour illustrer le problème), mais néanmoins, cela semble être une bonne solution. – Gedde