بسم الله الرحمن الرحيم
كثير منا يغفل أهمية هذا
الموديل الرائع الذي
يوفره الأباتشي الذي تعمل
عليه 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
نخبر الأباتشي بأننا نريد
أن نحول كل من يطلب
القيمة التي تسبق
الامتداد 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
|
|
|
|
|
|
|
| |
|