/ / Htaccess अनुगामी स्लैश या बिना .htaccess के साथ अनुक्रमणिका फिर से लिखना

Htaccess पीछे की स्लैश या बिना - .htaccess के साथ इंडेक्स को फिर से लिखें

मुझे वर्तमान में अपने .htaccess फ़ाइल में अपने अनुक्रमणिका url के फिर से लिखने में समस्या हो रही है, मुझे पता है कि क्या मैं उपयोग करता हूँ

RewriteRule ^profile/([^/]*)/?$ /profile.php?x=$1 [L]

मैं www.example.com/profile/get या www.example.com/profile/get/ (ट्रैफ़िक स्लैम के साथ या उसके बिना) का उपयोग करने में सक्षम होगा

लेकिन मुझे www.example.com/get चाहिए कि मेरे पास अब तक क्या है

RewriteRule ^([^/]*)/$ /index.php?x=$1 [L]

लेकिन अगर मैं एक डाल दिया? $ से पहले यह किसी भी जवाब का स्वागत त्रुटियों

उत्तर:

जवाब के लिए 2 № 1

अनुगामी स्लैश को वैकल्पिक बनाने से अनंत लूप बन जाएगा, क्योंकि [^/]* किसी भी चीज़ से मेल नहीं खाता, जिसमें "ए" शामिल नहीं है /, यानी यह भी मेल खाएगा index.php?x=get

आप नियम बनाकर इससे बच सकते हैं सशर्त रूप से लागू करेंउदाहरण के लिए, प्रतिक्षेप URI का परीक्षण करके:

RewriteCond %{REQUEST_URI} !^/index.php.*
RewriteRule ^([^/]*)/?$ /index.php?x=$1 [L]

इस तरह से यह नियम केवल तभी लागू हो सकता है जब URI के साथ अनुरोध शुरू होता है /index.php