मैंने एक बनाया था .htaccess
वह फ़ाइल जो URL को पथ क्वेरी में रूपांतरित करती है। यह काम करता है लेकिन जब मैं कुछ इस तरह से जाता हूं: localhost/login
मैंने इसे प्राप्त किया localhost/login?path=login
। मैं इसे कैसे बदल सकता हूँ ताकि मैं URL में पथ न देख सकूँ
.htaccess
RewriteEngine On
RewriteCond $1 !^__init__.php
RewriteRule ^(.*)$ __init__.php?path=$1 [L,QSA]
उत्तर:
जवाब के लिए 0 № 1कर देता है login.php
एक भौतिक फ़ाइल के रूप में मौजूद है? यदि हां, तो आपको यह सुनिश्चित करने की आवश्यकता होगी MultiViews
अक्षम है। अपने शीर्ष पर निम्नलिखित का प्रयास करें .htaccess
फ़ाइल:
Options -MultiViews
एक फ़ोल्डर है जिसे लॉगिन कहा जाता है
आह, यही समस्या होगी। mod_dir के साथ एक बाहरी पुनर्निर्देशन के मुद्दे के साथ /login
सेवा मेरे /login/
(यानी। एक अनुगामी स्लेश संलग्न करें)। चूंकि एक रीडायरेक्ट पहले ही जारी किया जा चुका है, इसलिए आपका आंतरिक पुनर्लेखन अब एक बाहरी रीडायरेक्ट (HTTP स्थिति से और) हो जाता है Location
हेडर पहले ही सेट हो चुके हैं)।
आपको या तो उस निर्देशिका का नाम बदलना होगा। या mod_dir की इस सुविधा को अक्षम करें (लेकिन इससे आगे की समस्याएं हो सकती हैं) उदाहरण के लिए, अपने शीर्ष पर .htaccess
फ़ाइल:
DirectorySlash Off