mod rewrite - Why is my php file unable to locate external files (image,css...) when using RewriteRule? -
मैं निम्नलिखित RewriteRules का उपयोग कर रहा हूं:
RewriteRule ^ ([a-zA-Z0- 9] +) $ page.php? P = $ 1 पुनःलेखन नियम ^ / ([a-zA-Z0- 9] +) $ edit.php? P = $ 1 पहले एक ठीक काम करता है: mysite.com/id टाइप करते समय यह mysite.com/page.php?p=id सर्वर साइड पर लोड करता है।
दूसरा एक भी काम कर रहा है: जब मैं mysite.com/e टाइप करता हूँ / आईडी यह mysite.com/edit.php?p=id (अपेक्षित) लोड करता है लेकिन उस स्थिति में edit.php मेरे सीएसएस फ़ाइल की तरह किसी भी बाहरी फाइल को नहीं रोक सकता।
& lt; link rel = "stylesheet" type = "text / css" href = "style.css "/ & Gt; जब भी ऐसा होता है:
& lt; link rel = "stylesheet" प्रकार = "text / css" href = "../ style.css" / & gt; या रीव्रेट राउल में केवल डायरेक्ट्री को हटाया जा रहा है:
RewriteRule ^ e _ ([a-zA-Z0- 9] +) $ edit.php ? P = $ 1 यह समस्या को हल करता है।
अब मुझे समझ में नहीं आ रहा है कि मेरी edit.php बाहरी फाइलों को ढूँढने में असमर्थ है, यहां तक कि यह सोचा कि यह सर्वर-साइड पर सही पथ (mysite.com/) और एक अतिरिक्त निर्देशिका में यूआरएल प्रदर्शित नहीं की तरह (इस मामले में mysite.com/e/)।
आप सभी साइट के पथ के लिए आधार url का उपयोग कर सकते हैं, जैसे:
& lt; base href =" http: // youite कॉम / ब्लॉग / "/ & gt; या <पूर्व> & lt; base href = "/ blog /" / & gt; और उसके बाद बेस के संबंधित पथ लिखना:
& lt; a href = "rule / foo /" & gt; ... & lt; / a & gt ; इसके अलावा, आपको उन सभी "स्वीकार्य" पैटर्नों के बारे में सावधान रहना होगा, क्योंकि वे स्टाइलशीट्स, छवियों और बाकी मीडिया के साथ संघर्ष कर सकते हैं अगर ठीक से उपयोग नहीं किया जाता है या तो पैटर्न के विस्तार को जोड़ने या मीडिया को शामिल करना संभव हो सकता है।
Comments
Post a Comment