मैं अपनी वेबसाइट से PHP एक्सटेंशन को हटाने का प्रयास कर रहा था। जब उपयोगकर्ता एक PHP फ़ाइल का अनुरोध करता है, तो PHP हटा दिया जाएगा और उपयोगकर्ता को रीडायरेक्ट किया जाएगा, और जब उपयोगकर्ता PHP के बिना यूआरएल में टाइप करेगा, तो वास्तविक PHP फ़ाइल परोसा जाएगा। यूआरएल में जीईटी पैरामीटर होने पर यह अच्छी तरह से काम करता है। मेरे नियमों के रूप में नीचे हैं:जीईटी पैरामीटर को संरक्षित करते समय, PHP विस्तार को हटाने के लिए अपाचे Mod_rewrite का उपयोग कैसे करें?
# remove .php ONLY if requested directly
RewriteCond %{THE_REQUEST} (\.php\sHTTP/1)
RewriteRule ^(.+)\.php$ /$1 [R=301,L,QSA]
# remove trailing slash ONLY if it is not an existing folder
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# rewrite to FILENAME.php if such file does exist and is not a folder
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ /$1.php [L,QSA]
मैंने सोचा था कि यह पहले से ही php दूर करने के लिए भी जब वहाँ किसी भी प्राप्त पैरामीटर है सक्षम होना चाहिए, लेकिन यह विफल रहा है। मैंने इस तरह कुछ भी करने की कोशिश की:
RewriteCond %{THE_REQUEST} (\.php\sHTTP/1)
RewriteRule ^(.)\.php(.)$ $1$2 [R=301,L,QSA]
यह भी काम नहीं करता है, PHP अभी भी वहां है। लेकिन अगर मैं कोशिश:
RewriteRule ^(.)\.php(.)$ $1$2 [R=301,L,QSA]
यानी, RewriteCond को हटाने, php विस्तार हटा दिया जाता है और मानकों को संरक्षित किया गया है, लेकिन के रूप में ब्राउज़र का कहना है बहुत अधिक रीडायरेक्ट वहाँ थे पेज पर नहीं दिए जाएंगे।
कोई भी विचार किसी भी विचार कृपया?
RewriteRule में (या मेरे जैसे सिर्फ एक noob है lol?):/$ 1, टूटे यूआरएल उत्पन्न बाहर के साथ $ 1 का उपयोग / – StefanoCudini