अन्य नुकसान:
1- कभी-कभी मल्टीव्यू को निष्क्रिय करना एक अच्छा विचार है
Options -MultiViews
मैं MultiViews क्षमताओं के सभी पर अच्छी तरह से कविता नहीं कर रहा हूँ, लेकिन मुझे पता है कि यह सक्रिय होने पर मेरे mod_rewrite नियमों को गड़बड़ कर देता है, क्योंकि इसके गुणों में से एक का प्रयास करना है और एक फ़ाइल के लिए एक एक्सटेंशन का अनुमान लगाना है जो यह सोचता है कि मैं देख रहा हूं ।
मैं समझाता हूँ: मान लीजिए कि आपके पास आपके वेब dir में 2 php फाइलें हैं, file1.php और file2.php और आप इन शर्तों को जोड़ते हैं और अपने .htaccess पर नियम बनाते हैं:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ file1.php/$1
आप यह मान लेते हैं कि सभी यूआरएल जो एक फ़ाइल या निर्देशिका से मेल नहीं खाते हैं, उन्हें file1.php द्वारा पकड़ा जाएगा। आश्चर्य! इस नियम को url http: // myhost / file2 / somepath के लिए सम्मानित नहीं किया जा रहा है । इसके बजाय आप file2.php के अंदर ले जाए जाते हैं।
क्या चल रहा है कि मल्टीव्यू ने स्वचालित रूप से अनुमान लगाया कि आप वास्तव में चाहते थे कि यूआरएल http: //myhost/file2.php/somepath और खुशी से आपको वहां ले गया।
अब, आपके पास कोई सुराग नहीं है कि बस क्या हुआ और आप उस बिंदु पर सवाल कर रहे हैं जो आपने सोचा था कि आप mod_rewrite के बारे में जानते थे। फिर आप इस नई स्थिति के पीछे तर्क की भावना बनाने की कोशिश करने के लिए नियमों के साथ खेलना शुरू करते हैं, लेकिन जितना अधिक आप कम समझ का परीक्षण कर रहे हैं।
ठीक है, संक्षेप में अगर आप चाहते हैं कि mod_rewrite एक तरह से काम करे जो तर्क का अनुमान लगाता है, तो MultiViews को बंद करना सही दिशा में एक कदम है।
2- FollowSymlinks को इनेबल करें
Options +FollowSymLinks
यह एक, मैं वास्तव में का विवरण नहीं जानता, लेकिन मैंने इसे कई बार उल्लेख किया है, इसलिए बस ऐसा करें।