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