Aide sur la syntaxe de la réécriture ISAPI?
-
03-07-2019 - |
Question
Je ne parviens pas à obtenir du code pour un ancien site de magasin ASP que je gère - j'ai ajouté le texte suivant qui fonctionne parfaitement
RewriteBase /
RewriteRule ^cat/[^?/]*_(\d+)\.htm /store/prodList.asp?idcategory=$1 [QSA]
Le problème est que si la page de catégorie a plus d'une page! Comme il ajoute un autre couple de paramètres à la chaîne de requête comme si
/store/prodList.asp?idcategory=102&curPage=2&sortField=sortorder
Je cherche un exemple de prise de trois paramètres de chaîne de requête supplémentaires et de l'ajout à l'URL réécrite ... Quelqu'un peut-il vous aider, s'il vous plaît?
Ainsi, par exemple, l'URL suivante fonctionne correctement
cat/productname_5.htm ... equates to ... /store/prodList.asp?idcategory=5
Je dois faire quelque chose comme ce qui suit lorsque j'ai plus d'une page? mais vous ne connaissez pas la syntaxe ISAPI?
cat/productname_5_2_sortorder.htm ... would equate to ... /store/prodList.asp?idcategory=5&curPage=2&sortField=sortorder
J'espère que cela a plus de sens?
La solution
Je pense que c'est ce que vous demandez, définissez l'argument [L] pour qu'il cesse de correspondre à la première correspondance. ?
Mais [L] vous oblige à les classer par le plus restrictif d’abord, 4 arguments, puis 3, 2 etc ...
ReWriteRule ^/store/([0-9]+)/([0-9]+)/{0,1}$ /store/prodList.asp\?idcategory=$1&curPage=$2 [L]
ReWriteRule ^/store/([0-9]+)/([0-9]+)/([A-Za-z]+)/{0,1}$ /store/prodList.asp\?idcategory=$1&curPage=$2&sortField=$3 [L]