URL को फिर से लिखने के लिए GET पैरामीटर कैसे पास करें?


13

मेरे पास .htaccessइस तरह से फिर से लिखने का नियम है:

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

यह क्या करता है, अगर कोई http://example.com/search/testयूआरआई का दौरा करता है जो वास्तव में संसाधित है http://www.example.com/search.php?q=test

अब, यदि मैं अपने लिखित URL में एक अतिरिक्त यादृच्छिक GET पैरामीटर पास करने की कोशिश करता हूं, तो पैरामीटर को नजरअंदाज कर दिया जाता है। इसलिए अगर मैं यहाँ जाने की कोशिश करूँ तो:

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

पैरामीटर extraको अनदेखा किया जाता है। यह बिल्कुल नहीं लगता है।

क्या यह समस्या ठीक हो सकती है? यदि हां, तो कैसे?

जवाबों:


14

आप Query String Append ध्वज की तलाश कर रहे हैं - उदा

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

mod_rewriteदस्तावेज़ का पूरा विवरण देखें ।


बहुत सुंदर! मुझे पता था कि ऐसा कुछ है। मैं एक .htaccessnoob हूँ ।
जेक विल्सन

क्या सभी नियमों में QSA जोड़ने का एक तरीका है
hakkikonu

हाय @danlefree यह एक पुराना सवाल है पता है, लेकिन Wamp का उपयोग करते हुए, जब मैं ऐसा करता हूं, तो मेरे सभी स्टाइलशीट, स्क्रिप्ट संदर्भ खो देते हैं। मैं इसे कैसे हल कर सकता हूं?
DannyGM
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.