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?

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.


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.