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?

Était-ce utile?

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]
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top