अज्ञात सबफ़ोल्डर्स के लिए
मैं निम्नलिखित समस्या का सामना कर रहा हूँ:
सर्वर में मेरी फ़ोल्डर संरचना है: public_html / प्रोजेक्ट /
ट्री व्यू: फ़ोल्डर स्ट्रक्चर ट्री ट्री व्यू
में public_html फ़ोल्डर एक है .htaccess फ़ाइल।
प्रोजेक्ट फ़ोल्डर के अंदर मेरे साथी एक लैंडिंग पृष्ठ के साथ संख्यात्मक फ़ोल्डर बनाएंगे (चलो सिर्फ एक index.php फ़ाइल कहते हैं)
पुन: लिखने के नियम जो मैं लागू करने की कोशिश करता हूं वह एक भाषा और एक मुद्रा url पैरामीटर है।
इसलिए, उदाहरण के लिए यह url: https://www.example.com/projects/whatever-project-name/index.php?lang=en¤cy=eur
इसका अनुवाद करना होगा: https://www.example.com/projects/whatever-project-name/en/eur/
साथ ही, मुद्रा चर वैकल्पिक है। (भाषा चर एक अनिवार्य चर है)
तो यूरल्स कुछ इस तरह भी हो सकते हैं: https://www.example.com/projects/whatever-project-name/en/
मैं इस समस्या को हल करने के लिए अब कुछ दिनों से खोज रहा हूं (और रो रहा हूं)। केवल एक समाधान जो मेरे करीब है वह यह है: अज्ञात निर्देशिका के लिए पुनर्लेखन
लेकिन मैंने इसे काम करने के लिए प्रबंधित नहीं किया।
मेरे पास अब तक क्या है (लेकिन यह ठीक से काम नहीं करता है) है:
RewriteEngine On
RewriteRule ^(.*/)?/([a-zA-Z0-9]{2,3})/([a-zA-Z0-9-]+)/?$ projects/$1index.php?lang=$2¤cy=$3
RewriteRule ^(.*/)?/([a-zA-Z0-9]{2,3})/?$ projects/$1index.php?lang=$2[L]
जवाब
आपके दिखाए गए नमूनों के आधार पर, क्या आप निम्नलिखित प्रयास कर सकते हैं। कृपया सुनिश्चित करें कि आपने अपने URL का परीक्षण करने से पहले अपने कैश ऑफ़ ब्राउज़र को साफ़ कर दिया है।
RewriteEngine ON
##With currency variable in URI.
RewriteCond %{REQUEST_URI} ^/projects/([\w-]+)/en/([\w-]+)/?$ [NC] RewriteRule ^(.*)$ projects/%1/index.php?lang=en¤cy=%2 [L]
##Without currency variable in URI.
RewriteCond %{REQUEST_URI} ^/projects/([\w-]+)/en/?$ [NC] RewriteRule ^(.*)$ projects/%1/index.php?lang=en [L]