जाहिर है, मेरी .htaccess पुनर्लेखन मेरे पृष्ठ के सभी $_GET
-variables अप खाती है:.htaccess: Get चर फिर से लिखने में खो जाते हैं
जब यूआरएल http://192.168.1.1/welcome/test?getvar=true पहुँचने और मेरी index.php फ़ाइल में var_dump($_GET)
चल रहा है, मैं इस मिल इस उत्पादन:
array
'/welcome/test' => string '' (length=0)
तो कोई $_GET
डाटा उपलब्ध है और मेरे URL से getvar
-variable का कोई संकेत नहीं।
यहाँ मेरी .htaccess है:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
क्या मैं सुनिश्चित करने के लिए है कि मेरे फिर से लिखने के रूप में इरादा लेकिन $_GET
-variables अभी भी एक्सेस किया काम कर रहा है बदलना चाहिए? @ DonSeba के योगदान जोड़ा गया है क्योंकि यह सही है:
RewriteRule ^(.*)$ index.php?route=/$1 [QSA,L]
संपादित करें:
धन्यवाद! ऐसा लगता है कि यह अच्छी तरह से काम कर रहा है। एक quickie: ऐसा प्रतीत होता है कि '$ _GET' पैराम पकड़े जाने के लिए अंतिम स्लैश आवश्यक है। केक रखना और इसे खाना संभव होगा, यानी। 'स्वागत/परीक्षण' avar = 1' और 'स्वागत/परीक्षण /? avar = 1' दोनों करने में सक्षम हो? धन्यवाद! – Industrial
मुझे उस पर यकीन नहीं है। क्या यह आपका लापता चर नाम हो सकता है? –
परीक्षण और यहां enging स्लैश के बिना ठीक काम करता है। इसे JQuery UI Autocomplete के लिए उपयोग किया जाता है, क्योंकि वह हमेशा 'टर्म' पैरामीटर को जोड़ता है। 'पुनर्लेखन^^ सेवा/स्वत: पूर्ण /(.+)$ autocomplete.php? प्रकार = $ 2 [क्यूएसए, एल]'। –