Jak przekazać parametry GET do przepisanego adresu URL?

13

Mam taką .htaccesszasadę przepisywania:

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

To robi, jeśli ktoś odwiedza http://example.com/search/testnaprawdę przetwarzany identyfikator URI http://www.example.com/search.php?q=test.

Teraz, jeśli spróbuję przekazać dodatkowy losowy parametr GET do mojego przepisanego adresu URL, parametr zostanie zignorowany. Więc jeśli spróbuję odwiedzić tutaj:

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

Parametr extrajest ignorowany. Wygląda na to, że wcale nie jest przekazywane.

Czy można rozwiązać ten problem? Jeśli tak to jak?

Jake Wilson
źródło

Odpowiedzi:

14

Szukasz w Query STring Aflagę ppend - np

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

Pełny mod_rewritedokument dotyczący flag RewriteRule znajduje się w dokumentacji .

danlefree
źródło
Ach miło! Wiedziałem, że coś takiego jest. Jestem .htaccessnoobem.
Jake Wilson,
Czy istnieje sposób na dodanie QSA do wszystkich zasad
hakkikonu
Cześć @danlefree Wiedz, że to stare pytanie, ale używając Wampa, kiedy to robię, wszystkie moje arkusze stylów, skrypty itp. Tracą odniesienie. jak mogę to rozwiązać?
DannyGM,