Ich suche nach URLs mit mehreren Teilstrings neu schreiben. Eine Teilzeichenfolge wird als Unterverzeichnis angefordert, während alle anderen Zeichenfolgen als normale Abfragezeichenfolgenparameter angefordert werden.Übereinstimmung Fragezeichen in mod_rewrite Regel Regex
Zum Beispiel würde Ich mag Urls umschreiben von
http://www.mysite.com/mark/friends?page=2
zu
http://www.mysite.com/friends.php?user=mark&page=2
Ich bin der Lage, dies mit Ausnahme der Fragezeichen Charakter zu erreichen. Hier ist meine Rewrite-Regel:
...
RewriteEngine On
RewriteBase/
RewriteRule ^([A-Za-z0-9-_]+)/friends[?]?([^/\.]+)?$ friends.php?user=$1&$2 [L]
Wenn ich das Fragezeichen zu jedem anderen Charakter ändere es funktioniert gut. Es scheint, als wäre das Problem, dass das "?" Das Zeichen wird fälschlicherweise als Start einer neuen Abfragezeichenfolge interpretiert.
Ich muss alle Parameter übergeben, die nach/user/friends wie angezeigt werden. Wie erreiche ich das?
Danke für die Antwort. Funktioniert wirklich gut und ich lese gerade das Kochbuch. – markb
Supers Lösung es funktioniert auch für mich, obwohl ich Code zu meinen Bedingungen bearbeitet: RewriteRule^([A-Za-z0-9 -_] +) \. Php? pindex.php? typeofpage = $ 1 [QSA, L] –