كثير منا يغفل أهمية هذا الموديل الرائع الذي يوفره الأباتشي الذي تعمل عليه 99% من مواقعنا.
الفكرة ببساطة : هي أن تقوم بكتابة عنوان في المتصفح وماسيظهر لك سيكون نتيجة لأوامر أخرى .
كيف ذلك ؟؟!!
ببساطة أيضا عندما ندخل للمنتدى نجد الروابط بهذا الشكل
http://www.domain.tld/forum/[b]viewtopic.php?t=1234[/b]
محركات البحث في الغالب تصادق ملفات ال 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
نخبر الأباتشي بأننا نريد أن نتيح عملية ال mod_rewrite
كود: تحديد الكل
RewriteEngine on
فيكون هكذا
كود: تحديد الكل
RewriteRule ^(.*)\.htm$ index.php?action=$1
نبدأ جملتنا دوما بهذه العلامة [ ^ ]
وننهي الجملة دوما بهذه العلامة [ $ ]
طبعا بدون الأقواس []
ثم نخبره بأن أي قيمة تدخل لك [ (.*) ] ستكون هي المتغير الخاص بنا
ثم نخبره أن الامتداد الذي سيدخل له هو 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
أستخدمها أيضا في سكربت التوقيع للبريد : http://www.wmasterz.com/sig
وسكربت البيج ران الخاص بجوجل : http://www.wmasterz.com/pr
ويمكنك ملاحظة ذلك من تغيير أسماء الصور فقط
كما ذكرت ، فسأتطرق لتفعيل هذه الخاصية في phpBB لوضع روابط المنتدى على أنها html لكن في جلسة أخرى ان شاء الله