السلام عليكم ورحمة الله
اثناء قيامي ببرمجة موقع جديد لي (قريبا سينطلق بأذن الله) حدث معي امر مزعج بعض الشي وهو في المود ري رايت Mod_Rewrite حيت لايسمح باستخدام السلاش في النهاية
مثلا http://site.com/?p=index عند تحويلها ستكون http://site.com/index طبعا هكذا يعمل بشكل مميز لكن عند اضافة السلاش في الاخير لن يشتغل اممم
واصلت التفكير فاستطعت ان اضع السلاش في الاخير لكن ماذا حدث معلومات الصفحة لاتظهر اقصد بذلك images,css,js لانها اصبحت كانها في مجلد اخر طبعا حاليا الموقع يشتغل بالشكلين الاتيين
http://site.com/index بدون سلاش ويعمل تمام كل شي
http://site.com/index/ بالسلاش يعمل لكن التقنيات الاخري لاتعمل
هذا كان بواسطة الكود
الكود الاول للتحويل من الرابط بدون سلاش الي سلاش والسطر الثاني للتحويل بالسلاش الي الاصل او الرابط الصحيح البرمجي الديناميكيكود:RewriteRule ^([A-Za-z0-9\-]+)$ $1/ [L] RewriteRule ^([A-Za-z0-9\-]+)\/$ ?p=$1
لكن بقت مشكلة عدم ظهور باقي التقنيات مثل الصور وملفات الستايل شيت وملفات الجافا سكربت لم انفك وانا افكر واجرب الي ان ظهر لي ان الحل في كود بسيط جدا .
نعم هو كود <base> احد رموز html وهو كود لتعين وتوضيح نقطة الوصول
توصلت لهذا الكود بعد ان اتضح ان المصدر للصفحة اصبح وكانه من مجلد اخر!!! لان عند اضافة سلاش يعتبر الموقع مجلد لهذا قمنا بوضع نقطة وصول او توضيح لكي يستطيع ايجاد نفسة في الصفحة الاصلية وعدم الدخول الي الوصلة التي يعتبرها مجلدكود PHP:
<?='<base href="http://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'].'" />'; ?>
مشكلة بسيطة مثل هذة ربما تواجه احد مثلكم في المستقبل
الان الموقع يشتغل
http://site.com/index
http://site.com/index/
http://site.com/?p=index
دون اي مشاكل
اتمني اني وصلت المقصود من المقالة واتضحت الطريقة لديكم
لذا هذة تجربتي معها وهذا الحل الوحيد الذي توصلت اليه مع ان الطريقة غير معروفة كثيرا ومازال هناك من يبحث عنها
الغرض من المقال ليس فهم البرمجة بل ان حل المشكلات الكبيرة يمكن ان يكون باكواد او بخطوات بسيطة ... جدا
سلامات
المصدر مدونتي