मेरे पास एक godaddy शेयर्ड होस्ट पर दो htaccess फाइलें हैं, डोमेन नाम: example.com, और ssh उपयोगकर्ता myuser को कॉल करें।
पहली htaccess फ़ाइल दस्तावेज़-रूट के अंतर्गत है:
Options -Multiviews
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ([^.]+.[^.]+)$
RewriteRule ^(.*)$ %1/$1 [QSA,L,E=DOMAIN:%1,E=URI:$1]
यह www.example.com/my/path को डॉक्यूमेंट-रूट / example.com / my / path में बदल देता है।
दूसरा htaccess दस्तावेज़-रूट / example.com निर्देशिका के अंतर्गत है:
Options -Multiviews
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/([^/]+)/(.*)$
RewriteCond %{DOCUMENT_ROOT}/%1/WebShop/Presentation/Http/View/public/%2 -f
RewriteRule ^(.*)$ WebShop/Presentation/Http/View/public/%2 [L]
RewriteRule ^(.*)$ entryPoint.php [QSA,L]
यह उदाहरण को बदल देता है।com / my / path in document-root / example.com / WebShop / Presentation / Http / View / public / my / path अगर मेरा / पाथ एक मौजूदा स्टैटिक फाइल है, तो किसी भी अन्य मामले में इसे डॉक्यूमेंट-रूट / उदाहरण कहते हैं। com / entryPoint.php। अब मेरी समस्या यह है कि दूसरे htaccess में request-uri ~ / myuser // example.com / my / path for example.com/my/path है जो पहले htaccess में% 1 / $ 1 है। तो किसी तरह Godaddy ssh उपयोगकर्ता को uri उपसर्ग के रूप में जोड़ता है। यह बहुत अजीब है, और 1-2 सप्ताह के बाद से ऐसा होता है। इससे पहले mod rewrite अच्छा काम कर रहा था ...
इसे ठीक करने के लिए कोई भी विचार?
उत्तर:
जवाब के लिए 0 № 1मुझे नहीं लगता कि यह (और चाहिए) तय किया जाना चाहिएhtaccess स्तर, क्योंकि समस्या सर्वर सेटिंग्स में है। मैंने गोडैडी के लिए एक टिकट भेजा, और अगर वे "2 दिनों में इसे ठीक नहीं करते हैं तो मैं उनके जीवन का समर्थन कहूंगा। (Btw। मैं "इस समस्या से अकेला नहीं हूँ।"
गोडैडी सपोर्ट सबसे अच्छा नहीं है, मुझे नहीं लगता कि वे इसे ठीक करना चाहते हैं। एक अस्थायी समाधान यह है कि uri डेटा को env वेरिएबल के रूप में भेजें, और request_uri के बजाय इन env वेरिएबल्स का उपयोग करें।
संपादित करें:
उन्होंने इसे 2 सप्ताह के बाद तय किया ... जब तक मैंने एक संशोधित htaccess फ़ाइल का उपयोग नहीं किया।