Wie übergebe ich GET-Parameter an eine umgeschriebene URL?


13

Ich habe eine .htaccessUmschreiberegel wie diese:

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^search/(.*)$ search.php?q=$1

Dies geschieht, wenn jemand http://example.com/search/testdie URI besucht, die wirklich verarbeitet wird http://www.example.com/search.php?q=test.

Wenn ich nun versuche, einen zusätzlichen zufälligen GET-Parameter an meine umgeschriebene URL zu übergeben, wird der Parameter ignoriert. Also, wenn ich versuche, hier zu besuchen:

http://www.example.com/search/whatever?extra=true

Der Parameter extrawird ignoriert. Es scheint überhaupt nicht bestanden zu werden.

Kann dieses Problem behoben werden? Wenn das so ist, wie?

Antworten:


14

Sie suchen nach der Query String Append Flagge - zB

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^search/(.*)$ search.php?q=$1 [QSA]

In der mod_rewriteDokumentation finden Sie eine vollständige Beschreibung der RewriteRule-Flags.


Ah schön! Ich wusste, dass es so etwas gibt. Ich bin ein .htaccessNoob.
— Jake Wilson

Gibt es eine Möglichkeit, QSA zu allen Regeln hinzuzufügen
— Hakkikonu

Hi @danlefree Wisst, dass es eine alte Frage ist, aber wenn ich Wamp benutze, verlieren alle meine Stylesheets, Skripte usw. den Bezug. wie kann ich das lösen
— DannyGM
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.