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

مشاهدة النسخة كاملة : [شرح طريقة]للـ mod_rewrite بأسهل ما يمكن ..!



admin
11-02-2013, بتوقيت غرينيتش 01:15 AM
[شرح طريقة]للـ mod_rewrite بأسهل ما يمكن ..!

بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته

كيفكم إنشاء الله بألف خير

اليوم أتقدم أليكم بشرح طريقة للـmod_rewrite بأسهل الطرق الممكنة و هذا بسبب الطلب الكبير لها

بسم الله نبدأ

أي عمل لم يبدأ بذكر الله فهو أبتر

-----------------------------

الـmod_rewrite له علاقة بخادم الويب اباتشي (apache server) تيتح لنا طلب قرائة روابط بغير وضعها الحقيقي

و اليكم الشرح طريقة

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

حيث أن الـ GET تعني إستخراج أو بمعنى آخر الاستدعاء .. و بينما الـ POST تعني الادخال أو بمعنى آخر إضافة معطى جديد ..

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

اذا نصل مما سبق ان النتيجة النهائية في الروابط هي الطريقه GET أي الإستخراج أو الاستدعاء ..


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

رمز Code:
http://www.example.com/games.php?action=view&id=10
الطريقه هنا هي GET

اي ان المتغيرات ظاهرة في الرابط

مشكلتنا هنا ان محركات البحث لا تلتفت كثيراً لمثل هذه الروابط بل تهتم بالروابط المباشرة ..

مثال :

رمز Code:
http://www.example.com/games.php http://www.example.com/games.html
كيف نحل هذه المشكلة ؟؟

خاصية mod_rewrite تقدم لنا الحل الأكيد و المفيد ..

كيف نبدء في استخدامها


اسهل الطرق لتعملها هي بالامثلة التي ستوضع في هذا الشرح طريقة:

فليكن لدينا هذا المثال :


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

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

رمز Code:
()/().html

ولكي يعمل نضيف عليه رمز النجمة
:

رمز Code:
(.*)/(.*).html

بمعنى آخر مرر اي شيء أو لاشيء

نفصل اللاحقة أي الامتدادhtml كي لايعطينا خطاً 500 المزعج هههههه: :n201413:


رمز Code:
(.*)/(.*)\.html

ثم نخبره من اين يبدء ومن اين ينتهي ...

رمز Code:
^(.*)/(.*)\.html$

ثم نخبره من اين يتلقى المتغيرات ...

رمز Code:
^(.*)/(.*)\.html$ games.php?action=$10&id=$2

الان نقوم بكتابة الكود code كاملاً ونحفظة في ملف .htaccess

رمز Code:
.htaccess
رمز Code:
#SWITCH mod_rewrite ON Options +FollowSymLinks RewriteEngine on #OUR ABOVE CODE RewriteRule ^(.*)/(.*)\.html$ games.php?action=$10&id=$2

هكذا نكون جاهزين فقط نقوم برفعه الى المجلد الرئيسي للموقع ونستخدمه وسوف يعمل بكل تأكيد و من دون مشاكل

لكن هناك زيادة لمن يرغب في الزيادة ......!

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

رمز Code:
#SWITCH REWRITE ON Options +FollowSymLinks RewriteEngine on #PUT OUR ABOVE CODE RewriteRule ^(.*)/([0-9]+)\.html$ games.php?action=$10&id=$2
ايضاً لو نظرنا الى متغير action

نجد انه حروف صغيرة ولا يأتي ارقام اذا نغلعه على الحروف الصغيرة فقط

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

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




اتمنى ان يكون الشرح طريقة واضحاً و مفيداً و جميلاً

تحيات أخوكم التنين الأحمر سابقاً =-=> زرياب

الرجاء الدعاء الخالص لي و لوالدي

أرجوا من الادارة أن تثبت الموضوع




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

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


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