Bagaimana cara menyampaikan parameter GET ke URL yang ditulis ulang?

13

Saya memiliki .htaccessaturan penulisan ulang seperti ini:

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

Apa yang dilakukan adalah, jika seseorang mengunjungi http://example.com/search/testURI yang benar-benar diproses http://www.example.com/search.php?q=test.

Sekarang, jika saya mencoba memberikan parameter GET acak tambahan ke URL yang ditulis ulang, parameternya diabaikan. Jadi, jika saya mencoba berkunjung ke sini:

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

Parameter extradiabaikan. Sepertinya tidak lulus sama sekali.

Bisakah masalah ini diperbaiki? Jika ya, bagaimana caranya?

Jake Wilson
sumber

Jawaban:

14

Anda mencari bendera ppend Query String A- mis

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

Lihat mod_rewritedokumentasi untuk keterangan lengkap tentang bendera RewriteRule.

danlefree
sumber
Ah bagus! Saya tahu ada sesuatu seperti itu. Saya seorang .htaccessnoob.
Jake Wilson
Apakah ada cara untuk menambahkan QSA ke semua aturan
hakkikonu
Hai @danlefree Tahu ini pertanyaan lama, tetapi menggunakan Wamp, ketika saya melakukan ini, semua stylesheet saya, skrip dll kehilangan referensi. bagaimana saya bisa menyelesaikannya?
DannyGM 4-15