Domanda

Faccio fatica a far funzionare un po 'di codice per un vecchio sito di store ASP che gestisco - ho aggiunto quanto segue che funziona perfettamente

RewriteBase /
RewriteRule ^cat/[^?/]*_(\d+)\.htm /store/prodList.asp?idcategory=$1 [QSA]

Il problema è se la pagina della categoria ha più di una pagina! Mentre aggiunge un altro paio di parametri alla stringa di query in questo modo

/store/prodList.asp?idcategory=102&curPage=2&sortField=sortorder

Sto cercando un esempio di come prendere altri tre parametri di querystring e aggiungerlo all'URL riscritto ... Qualcuno può aiutare per favore?

Quindi, ad esempio, attualmente il seguente URL funziona correttamente

cat/productname_5.htm ... equates to ... /store/prodList.asp?idcategory=5

Devo fare qualcosa come il seguente quando ho più di una pagina? ma non conosci la sintassi ISAPI?

cat/productname_5_2_sortorder.htm ... would equate to ... /store/prodList.asp?idcategory=5&curPage=2&sortField=sortorder

Spero che abbia più senso?

È stato utile?

Soluzione

Penso che questo sia ciò che stai chiedendo, imposta l'argomento [L] per farlo smettere di abbinare alla prima partita. ?

Ma [L] richiede che tu li ordini per primi più restrittivi, 4 arg, poi 3, 2 ecc ...

  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]
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top