بسم الله الرحمن الرحيم
عندما نقوم ببناء تطبيقات على الانترنت باستخدام اي لغة من لغات البرمجة فاننا نعمد في الغالب الى استخدام طرق لنقل المتغيرات من مكان الى اخر لنقوم باستخراج النتائج او التحقق منها وهذه الطرق في الغالب تعمد على GET او POST .
ليس لدينا مشكلة في استخدام POST لانها تكون مبينه على رابط سابق او معلومات سابقة حصلنا عليها من صفحة سابقة او ادخال مباشر من المستخدم ولانعتمد عليها في الروابط الخارجيه للاستدالال لصفحة معينة .
اذا نصل مما سبق ان النتيجة النهائية في الروبط هي الطريقه GET
مثال لهذه الطريقة هو هذا الرابط :
كود:
http://www.example.com/news.php?action=view&id=1
الطريقه هنا هي GET
اي ان المتغيرات ظاهرة في الرابط
مشكلتنا هنا ان محركات البحث لا تلتفت كثيراً لمثل هذه الروابط بل تهتم بالروابط المباشرة
مثل
كود:
http://www.example.com/news.php
http://www.example.com/news.html
كيف نحل المشكلة
خاصية mod_rewrite تقدم لنا الحل
كيف نبدء في استخدامها
اسهل الطرق لتعملها هي بالامثلة :
ليكن لدينا المثال التالي
كود:
http://www.example.com/news.php?action=view&id=1
نريد تحويله الى رابط مباشر ووقع اخيتاري على هذا الرابط
كود:
http://www.example.com/view/1.html
الرابط الجديد مكون من
ولكي يعمل نضيف عليه .*
بمعني مرر اي شيء او لاشيء
نفصل اللاحقة html كي لايعطينا خطاً 500
ثم نخبرة من اين يبدء ومن اين ينتهي
ثم نخبره من اين يتلقى المتغيرات
كود:
^(.*)/(.*)\.html$ news.php?action=$1&id=$2
الان نقوم بكتابة الكود كاملاً ونحفظة في ملف
كود:
#SWITCH mod_rewrite ON
Options +FollowSymLinks
RewriteEngine on
#OUR ABOVE CODE
RewriteRule ^(.*)/(.*)\.html$ news.php?action=$1&id=$2
هكذا نكون جاهزين فقط نقوم برفعه الى المجلد الاب للموقع ونستخدمه وسوف يعمل
لكن هناك زيادة لمن يرغب في الزيادة
لو نظرنا الى متغير الخبر نجد انه ارقام اذن يمكنا تحديد نوعية المتغير بالارقام فقط ولن يقبل الاحرف
كود:
#SWITCH REWRITE ON
Options +FollowSymLinks
RewriteEngine on
#PUT OUR ABOVE CODE
RewriteRule ^(.*)/([0-9]+)\.html$ news.php?action=$1&id=$2
ايضاً لو نظرنا الى متغير action
نجد انه حروف صغيرة ولا يأتي ارقام اذن نغلعه على الحروف الصغيرة فقط
كود:
#SWITCH REWRITE ON
Options +FollowSymLinks
RewriteEngine on
#PUT OUR ABOVE CODE
RewriteRule ^([a-z]+)/([0-9]+)\.html$ news.php?action=$1&id=$2
بعد رفع الملف كما اشرنا قبل نقوم بتغيير الروابط في برنامجنا حسب الوضع الجديد
وهناك المزيد لمن رغب في المزيد عن هذه الخاصية الجملية
اتمنى ان يكون الشرح واضحاً
اخوكم