2010-11-01 14 views
27

मुझे एचटीएसीएएस यूआरएल रीराइट के बाद काम करने वाले यूआरएल के पैरामीटर को रखने में समस्याएं आ रही हैं।। एचटीएसीएएस रीवाइट्रूल जीईटी यूआरएल पैरामीटर को सुरक्षित रखने के लिए

RewriteEngine on 
RewriteRule ^([a-z]{2,2})/([a-zA-Z0-9_-]+)$ index.php?lang=$1&page=$2 

जिसका मतलब है: के रूप में domain.com/en/product

किसी कारण के लिए, जब मैं अपने URL मैं कर रहा हूँ के अंत में एक ?model=AB123&color=something जोड़ने

domain.com/index.php?lang=en&page=product प्रदर्शित करता है

मेरे इनको फिर से लिखने के इस प्रकार है $_GET['model'] और $_GET['color'] का उपयोग करके PHP में उन पैरामीटर को पुनर्प्राप्त करने में सक्षम नहीं है, भले ही वे प्रदर्शित यूआरएल में मौजूद हों।

चर के साथ पारित क्यों नहीं हैं?

उत्तर

61

आपको [QSA] (क्वेरी स्ट्रिंग एपेंड) टैग के साथ संलग्न करने की आवश्यकता है। प्रयास करें

RewriteEngine on 
RewriteRule ^([a-z]{2,2})/([a-zA-Z0-9_-]+)$ index.php?lang=$1&page=$2 [QSA] 

देखें http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

+4

आपको बहुत बहुत धन्यवाद। वह काम किया। यह मजाकिया है कि मैंने कोशिश की कुछ चीजों के बाद समाधान कितना आसान है ... – Enkay

+0

यह क्यूएसए टैग के साथ भी मेरा काम नहीं कर रहा है। सही पृष्ठ प्रदर्शित करता है, लेकिन क्योंकि $ _GET अनुपयोगी लगता है, यह त्रुटियों के भार को फेंकता है। मैं 'रिवाइटरूल^विवरण/([^ /]) /? $ विवरण का उपयोग कर रहा हूं? पिन = $ 1 [क्यूएसए]' – Lee

+0

उत्तर के लिए धन्यवाद। इसने काम कर दिया। – Vinay