GET parametrelerini yeniden yazılmış URL'ye nasıl aktarabilirim?


14

Ben böyle bir .htaccessyeniden yazma kuralı var :

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

Birisi ziyaretleri ne yapar, olduğu http://example.com/search/testgerçekten işlenir URI http://www.example.com/search.php?q=test.

Şimdi, yeniden yazılmış URL'ye fazladan rastgele bir GET parametresi iletmeye çalışırsam, parametre yoksayılır. Bu yüzden burada ziyaret etmeye çalışırsam:

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

Parametre extrayoksayılır. Hiç geçmemiş gibi görünüyor.

Bu sorun çözülebilir mi? Öyleyse nasıl?

Yanıtlar:


15

Aradığınız Query String Append bayrak - örneğin

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

RewriteRule bayraklarının tam açıklaması için mod_rewritebelgelere bakın .


Ah güzel! Böyle bir şey olduğunu biliyordum. Ben bir .htaccessçaylağım.
Jake Wilson

Tüm kurallara QSA eklemenin bir yolu var mı
hakkikonu

Merhaba @danlefree Eski bir soru olduğunu biliyorum, ama Wamp kullanarak, bunu yaptığımda, tüm stil sayfaları, komut dosyaları vb referans kaybeder. bunu nasıl çözebilirim?
DannyGM
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.