मुझे वर्तमान में अपने .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