Frage
Ich bin zu kämpfen, einige Codes zu bekommen für eine alte ASP-Shop-Seite arbeiten schaff' ich - ich habe folgende hinzugefügt, die sehr gut funktioniert
RewriteBase /
RewriteRule ^cat/[^?/]*_(\d+)\.htm /store/prodList.asp?idcategory=$1 [QSA]
Das Problem ist, wenn die Kategorieseite mehr als eine Seite hat! Da es noch ein paar Parameter an die Abfragezeichenfolgeflag wie so fügt
/store/prodList.asp?idcategory=102&curPage=2&sortField=sortorder
Ich suche ein Beispiel für drei weitere Abfragezeichenfolgeflag Parameter zu nehmen und es auf die neu geschrieben URL anhängen ... Kann mir jemand bitte helfen?
So zum Beispiel zur Zeit die folgende URL funktioniert
cat/productname_5.htm ... equates to ... /store/prodList.asp?idcategory=5
Ich brauche so etwas wie die folgenden tun, wenn ich mehr als eine Seite haben? aber nicht die ISAPI Syntax wissen?
cat/productname_5_2_sortorder.htm ... would equate to ... /store/prodList.asp?idcategory=5&curPage=2&sortField=sortorder
Ich hoffe, dass mehr Sinn macht?
Lösung
Ich denke, das ist, was Sie fordern, die [L] Argument gesetzt, um es passend auf dem ersten Spiel zu stoppen. ?
Aber [L] erfordert, dass Sie sie durch restriktivsten ersten, 4 args zu bestellen, dann 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]