الرئيسية - مكتبة البرامج - شرح البرامج - الدورات التعليمية - مكتبة الكتب - مكتبة التصميم - المنتديات - راسلنا

تضمن منظمة مساعد للبرامج الكاملة أن جميع البرامج موجودة بموقع المنظمة نفسه و أن جميع وصلات البرامج تعمل و مرفق معها ملفات التسجيل ، و في حال وجود أي خطأ نتنمى إبلاغنا برسالة .... شكرا لكم

الدورات التعليمية

اجعل محركات البحث صديقتك عن طريق mod_rewrite

بقلم :ArabFriends

 
بسم الله الرحمن الرحيم
كثير منا يغفل أهمية هذا الموديل الرائع الذي يوفره الأباتشي الذي تعمل عليه 99% من مواقعنا.
الفكرة ببساطة : هي أن تقوم بكتابة عنوان في المتصفح وماسيظهر لك سيكون نتيجة لأوامر أخرى .
كيف ذلك ؟؟!!
ببساطة أيضا عندما ندخل للمنتدى نجد الروابط بهذا الشكل
http://www.domain.tld/forum/about1234.html
محركات البحث في الغالب تصادق ملفات ال html وليست التي تحمل متغيرات في نهايتها كما سبق الاشارة للرابط بالأعلى ،
توجد عدة طرق سأتطرق إليها بعد ذلك في الشرح حول كيفية تحويل صفحات المنتدى الى روابط html لتتمكن محركات البحث من أرشفتها ، ويمن أهم هذه الطرق وضع هاك أرشيف المنتدى ، فهو يتسخدم هذه الخاصية ( mod_rewrite)

سيتم عمل ذلك من خلال الملف المعروف .htaccess فهو مفتاح الكنز الذي يعطينا إياه الأباتشي
أمثلة سريعة للتعامل مع mod_rewrite :
نريد تحويل هذا الروابط
كود:
1- http://www.domain.com/index.php?action=index
2- http://www.domain.com/index.php?action=download
 

إلى
كود:
1-http://www.domain.com/index.htm
2- http://www.domain.com/download.htm
 

أو ننشئ ملف باسم .htaccess
نخبر الأباتشي بأننا نريد أن نتيح عملية ال mod_rewrite
كود:
RewriteEngine on

نخبر الأباتشي بأننا نريد أن نحول كل من يطلب القيمة التي تسبق الامتداد htm الى المتغير في الرابط الأول
فيكون هكذا
كود:
RewriteRule ^(.*)\.htm$ index.php?action=$1

لاحظ الشق الأول من الكود من بعد rewriterule ستجد التالي
نبدأ جملتنا دوما بهذه العلامة [ ^ ]
وننهي الجملة دوما بهذه العلامة [ $ ]
طبعا بدون الأقواس []
ثم نخبره بأن أي قيمة تدخل لك [ (.*) ] ستكون هي المتغير الخاص بنا
ثم نخبره أن الامتداد الذي سيدخل له هو htm
طبعا نفصل اللاحقة htm بهذه العلامة \ حتى لانتسبب في الخطأ المزعج 500
بعد ذلك الشق الثاني من الكود على هذا الشكل index.php?action=$1
نخبر الأباتشي في هذه المرحلة أن كل هذا الجزء ثابت ماعدا آخر مافيه والذي يظهر لدينا بـ $1
هذه هو المتغير الذي نريده أن يوضع خلف المعطى action
فمثلا لو كتبنا download.htm سيعتبر كلمة downlod هي المتغير الذي يجب تمريره لكي يوضع بعد action

دعنا الآن نجمع الكود الخاص بنا في الملف ونضعه للتجربة
أنشئ الملف .htaccess وضع به الآتي
كود:
#swithch on mod_rewrit
RewriteEngine on
#Rule of rewritng
RewriteRule ^(.*)\.htm$ index.php?action=$1


الآن ضع هذا الملف في أحد المجلدات في موقعك أو على السيرفر الشخصي ( تذكر مجلد فرعي حتى لايحدث لك خطأ في الموقع كله اذا لا قدر الله ووجدت أخطاء )
الآن أنشئ ملف باسم index.php وضعه به الكود التالي :
كود:
<?php
switch ($action) {
  case "index":
  echo "هذه هي الصفحة الرئيسية";
  break;

  case "download":
  echo "هذه هي صفحة تحميل الملفات";
  break;
}
?>

أتمنى أن تكونوا قد استفدتم منها
للمعلومية : يوجد العديد من السكربتات تستخدم هذه الطريقة في الوقت الحالي ، وأكثرها استخداما هي سكربتات cms