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.