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?

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 .


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,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.