المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : mod_rewrite باسهل الطرق !



said
11-01-2013, بتوقيت غرينيتش 09:46 AM
http://www.dzbatna.com/images/icons/icon30.gif mod_rewrite ط¨ط§ط³ظ‡ظ„ ط§ظ„ط·ط±ظ‚ ! (http://www.dzbatna.com/t537855/)



بسم الله الرحمن الرحيم
عندما نقوم ببناء تطبيقات على الانترنت باستخدام اي لغة من لغات البرمجة فاننا نعمد في الغالب الى استخدام طرق لنقل المتغيرات من مكان الى اخر لنقوم باستخراج النتائج او التحقق منها وهذه الطرق في الغالب تعمد على GET او POST .
ليس لدينا مشكلة في استخدام POST لانها تكون مبينه على رابط سابق او معلومات سابقة حصلنا عليها من صفحة سابقة او ادخال مباشر من المستخدم ولانعتمد عليها في الروابط الخارجيه للاستدالال لصفحة معينة .
اذا نصل مما سبق ان النتيجة النهائية في الروبط هي الطريقه GET

مثال لهذه الطريقة هو هذا الرابط :




رمز Code:
http://www.example.com/news.php?action=view&id=1
الطريقه هنا هي GET
اي ان المتغيرات ظاهرة في الرابط
مشكلتنا هنا ان محركات البحث لا تلتفت كثيراً لمثل هذه الروابط بل تهتم بالروابط المباشرة
مثل

رمز Code:
http://www.example.com/news.php http://www.example.com/news.html
كيف نحل المشكلة
خاصية mod_rewrite تقدم لنا الحل
كيف نبدء في استخدامها

اسهل الطرق لتعملها هي بالامثلة :
ليكن لدينا المثال التالي

رمز Code:
http://www.example.com/news.php?action=view&id=1
يد تحويله الى رابط مباشر ووقع اخيتاري على هذا الرابط

رمز Code:
http://www.example.com/view/1.html
الرابط الجديد مكون من

رمز Code:
()/().html
ولكي يعمل نضيف عليه . *

رمز Code:
(.*)/(.*).html
بمعني مرر اي شيء او لاشيء
نفصل اللاحقة html كي لايعطينا خطاً 500

رمز Code:
(.*)/(.*)\.html
ثم نخبرة من اين يبدء ومن اين ينتهي

رمز Code:
^(.*)/(.*)\.html$
ثم نخبره من اين يتلقى المتغيرات

رمز Code:
^(.*)/(.*)\.html$ news.php?action=$1&id=$2
الان نقوم بكتابة الكود code كاملاً ونحفظة في ملف

رمز Code:
.htaccess
رمز Code:
#SWITCH mod_rewrite ON Options +FollowSymLinks RewriteEngine on #OUR ABOVE CODE RewriteRule ^(.*)/(.*)\.html$ news.php?action=$1&id=$2
هكذا نكون جاهزين فقط نقوم برفعه الى المجلد الاب للموقع ونستخدمه وسوف يعمل

لكن هناك زيادة لمن يرغب في الزيادة
لو نظرنا الى متغير الخبر نجد انه ارقام اذن يمكنا تحديد نوعية المتغير بالارقام فقط ولن يقبل الاحرف

رمز Code:
#SWITCH REWRITE ON Options +FollowSymLinks RewriteEngine on #PUT OUR ABOVE CODE RewriteRule ^(.*)/([0-9]+)\.html$ news.php?action=$1&id=$2
ايضاً لو نظرنا الى متغير action
نجد انه حروف صغيرة ولا يأتي ارقام اذن نغلعه على الحروف الصغيرة فقط

رمز Code:
#SWITCH REWRITE ON Options +FollowSymLinks RewriteEngine on #PUT OUR ABOVE CODE RewriteRule ^([a-z]+)/([0-9]+)\.html$ news.php?action=$1&id=$2
بعد رفع الملف كما اشرنا قبل نقوم بتغيير الروابط في برنامجنا حسب الوضع الجديد

وهناك المزيد لمن رغب في المزيد عن هذه الخاصية الجملية

للأمانه
منقول






ألعاب الأندرويد مجانا و حصريا (http://www.apotox.info/forum)




https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash4/482113_236967293114455_1193518507_n.png (http://www.dzbatna.com)
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى (http://www.dzbatna.com)©

استعمل مربع البحث في الاسفل لمزيد من المواضيع


سريع للبحث عن مواضيع في المنتدى