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