Nouveau WRInaute
Bonjour à tous,
Je lutte depuis quelques jours pour établir une règle d'url récursive. Car j'ai quelques pages pour lesquelles le nombre de paramêtres peut varier.
J'ai lu avec intérêt l'article de Dan, dédié à la méthode php. Mais je n'arrive pas à transposer cette méthode dans ISAPI_Rewrite pour mon serveur IIS 6.
La doc d'ISAPI_Rewrite me propose la rêgle suivante :
RewriteRule (.*?\.asp)(\?[^/]*)?/([^/]*)/([^/]*)(.*) $1(?2$2&:\?)$3=$4$5 [NS,I]
Elle a pour effet de convertir l'URL :
h**p://www.monsite.fr/getpost.asp/aaa/1/bbb/2/ccc/3
en
h**p://www.monsite.fr/getpost.asp?aaa=1&bbb=2&ccc=3
Et ça marche nickel chez moi.
Mais je souhaiterai plutôt que mon URL appelée ressemble à :
h**p://www.monsite.fr/getpost-aaa-1-bbb-2-ccc-3.asp
La meilleur rêgle que j'ai pu établir est la suivante :
RewriteRule (.*?)(\?[^-]*)?-([^-]*)-([^-]*)(.*)[\.asp] /getpost.asp(?2$2&:\?)$3=$4$5 [NS,I]
L'appel de h**p://www.monsite.fr/getpost-aaa-1-bbb-2-ccc-3.asp me donne
h**p://www.monsite.fr/getpost.asp?aaa=1&bbb=2&ccc=3.
avec un point à la fin...
Je n'arrive pas à supprimer ce point ! Le point disparait si je supprime le "p" de ".asp" de mon url appelée, et je ne comprend pas pourquoi !
Avez-vous une idée de ce que je peux corriger pour ne plus avoir le point ? Cette règle paraît-elle crédible (car c'est vraiment pas tatonnement que j'ai obtenu ce résultat) ?
Inutile de dire que je débute dans les expressions régulières. Je m'en sors dans les url avec un nombre fixe de paramêtres... mais là, j'ai besoin d'aide.
Merci d'avance !
Tom
EDIT : Ma régle part en sucette dès que je passe plus de 3 paramètres... :cry:
Je lutte depuis quelques jours pour établir une règle d'url récursive. Car j'ai quelques pages pour lesquelles le nombre de paramêtres peut varier.
J'ai lu avec intérêt l'article de Dan, dédié à la méthode php. Mais je n'arrive pas à transposer cette méthode dans ISAPI_Rewrite pour mon serveur IIS 6.
La doc d'ISAPI_Rewrite me propose la rêgle suivante :
RewriteRule (.*?\.asp)(\?[^/]*)?/([^/]*)/([^/]*)(.*) $1(?2$2&:\?)$3=$4$5 [NS,I]
Elle a pour effet de convertir l'URL :
h**p://www.monsite.fr/getpost.asp/aaa/1/bbb/2/ccc/3
en
h**p://www.monsite.fr/getpost.asp?aaa=1&bbb=2&ccc=3
Et ça marche nickel chez moi.
Mais je souhaiterai plutôt que mon URL appelée ressemble à :
h**p://www.monsite.fr/getpost-aaa-1-bbb-2-ccc-3.asp
La meilleur rêgle que j'ai pu établir est la suivante :
RewriteRule (.*?)(\?[^-]*)?-([^-]*)-([^-]*)(.*)[\.asp] /getpost.asp(?2$2&:\?)$3=$4$5 [NS,I]
L'appel de h**p://www.monsite.fr/getpost-aaa-1-bbb-2-ccc-3.asp me donne
h**p://www.monsite.fr/getpost.asp?aaa=1&bbb=2&ccc=3.
avec un point à la fin...
Je n'arrive pas à supprimer ce point ! Le point disparait si je supprime le "p" de ".asp" de mon url appelée, et je ne comprend pas pourquoi !
Avez-vous une idée de ce que je peux corriger pour ne plus avoir le point ? Cette règle paraît-elle crédible (car c'est vraiment pas tatonnement que j'ai obtenu ce résultat) ?
Inutile de dire que je débute dans les expressions régulières. Je m'en sors dans les url avec un nombre fixe de paramêtres... mais là, j'ai besoin d'aide.
Merci d'avance !
Tom
EDIT : Ma régle part en sucette dès que je passe plus de 3 paramètres... :cry: