Webstatt.org - Community seit 2006 - 2012 (2024?)

RegEx Fragezeichen escapen

Avatar user-325
13.03.2008 13:41

Hi!

Ich verzweifle so langsam an folgendem Ausdruck:
RewriteRule ([A-Za-z]+)/(\\?page=([0-9]+))? index.php?cat=$1&page=$3
Das Seltsame ist, dass er auf /kategorie/page=3 matcht, aber nicht auf /kategorie/?page=3. Das ?-Zeichen scheint komplett ignoriert zu werden. Mit einem anderen Zeichen (z.B. @) geht es, aber ich benötige das ?-Zeichen, das ja automatisch bei GET angehängt wird.

Bitte um Hilfe 8o

PHP spricht hebräisch. lächeln
Parse error: syntax error, unexpected ')', expecting T_PAAMAYIM_NEKUDOTAYIM
Avatar user-162
13.03.2008 14:28

Der Sinn von Modrewrite ist doch, dass man genau dieses ? nicht mehr sieht.
Also dass du in deinem Fall eine solche URL verwenden kannst
/kategorie/page/3


Du musst natürlich dann bei den Links darauf achten, dass du keine ? produzierstzwinkern

Perfection is not when there’s nothing to add, but when there’s nothing to take away swisscheek.com/magazine
Avatar user-325
13.03.2008 15:09

Es ist aber so, dass ich noch mehr Parameter als "page" habe und diese werden auch nur dann an die URL angehängt, wenn der User eine Sortierung auswählt.

Wie sieht denn das aus... /kategorie/page/3/order/date/o_dir/desc =)

Aber meine Frage war ja auch eher, warum das ? ignoriert wird.

//edit: Hat sich schon erledigt. Die GET-Parameter musste ich nicht explizit in der RewriteRule angeben.
RewriteRule ([A-Za-z]+)/ index.php?cat=$1 [QSA]
genügt zwinkern

PHP spricht hebräisch. lächeln
Parse error: syntax error, unexpected ')', expecting T_PAAMAYIM_NEKUDOTAYIM