منتديات مدينة الاحلام

منتديات مدينة الاحلام (http://m.dreamscity.net/)
-   قسم تطوير المواقع و المنتديات (http://m.dreamscity.net/f41.html)
-   -   شرح إستخدام خاصية الـ mod rewrite في تغير إمتداد الملفات (http://m.dreamscity.net/t7262.html)

ابو حمزة 19 - 01 - 2008 23:37

شرح إستخدام خاصية الـ mod rewrite في تغير إمتداد الملفات
 
بسم الله الرحمن الرحيم

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

بإختصار شديد هذه التقنيه تسمح لك بتغير إمتداد الملف الي اي إمتداد ترغب فيه

و هي تتم عن طريق ملف htaccess.

أولاً إفتح معي المفكره و إكتب الاتي

[PHP]RewriteEngine on [/PHP]

هذا الكود يقوم بتشغيل الخاصيه في موقعك

لعد ذلك نقوم بتعريف السيرفر ما هو الاسلوب الذي يتعامل به مع الملفات عن طريق وضع الاتي

[PHP]RewriteRule ^New Url$ old Url [/PHP]

أولاً نضع الاتي

RewriteRule

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

و يتكون هذا السطر من ^ و هذه العلامه تعني بداية الرابط الاول المراد تغيره

و بعد ذلك نضع الرابط الاول الجديد المراد التغيير إليه و بعد ذلك أضفنا

$ و هي تعني إنتهاء الجزء الخاص بالملف المراد التغيير إليه

و بعد ذلك قمنا بوضع اسم الملف القديم

فلنأخذ مثال عملي

أول شيئ انا عندي ملف موقعي الرئيسي اللي هو index.php و عايز أخليه
index.htm علشان محركات البحث

يبقي افتح ملف مفكرة و أكتب الاتي

[PHP]RewriteEngine on
RewriteRule ^index\.htm$ index.php[/PHP]

و بعد كده أحفظه علي إمتداد htaccess.

و بعد كده أطلب من المتصفح الملف بإمتداده الجديد

شرح ما بداخل الملف عن قرب


RewriteEngine on : لتفعيل خاصية المود ري رايت

RewriteRule : و هي تعني بدأ التغير علي الرابط الاول

^ : تعني بدأ الجزء الخاص بإمتداد الملف الجديد
\. : و هي تعني . و تم وضع قبلها \ حتي يتم معاملتها علي انها نقطة عاديه

$ : نهاية الجزء الخاص بالملف الجديد


في هذا الجزء ستنطرق في كيفية تحويل روابط صفحه متعددة الصفحات مثلاً مثل هذه الصفحه


index?action=cat&id=17
فهذه الصفحه بطبيعة الحل متعددة الصفحات حيث ال id يمثل قيمة كل صفحه سيتم إستدعائها

أولاً افتح ملف htaccess.

و قوم بتعريف الاساسيات كما فعلنا

[PHP]RewriteEngine on

RewriteRule ^index(.*).htm$ index.php?action=cat&id=$1[/PHP]

أولاً قمنا الرابط الجديد و هو index(.*).htm بعمل الاتي و هو الجديد في الدرس

بوضع (.*)حيث سيتم تضمين ما يسويه الرابط التاتي هنا بوضع هذه العلامه في الرابط الثاني

index.php?action=cat&id=$1

فقد قمنا بكتابة رقم واحد و علامة $ حيث رقم واحد يدل علي (.*) الاولي

فلو كان مثلاً الرابط القديم

index.php?action=cat&id=84

سيكون الجديد

index84.html

طيب ماذا إذا كانت الصفحه تضمن اكتر من رقم كرقم القسم و رقم تصويت عليه مثلاً

cat.php?catid=4&vote=7

سيكون التحويل كالاتي

[PHP]RewriteEngine on

RewriteRule ^cat(.*)-(.*).htm$ cat.php?catid=$1&vote=$2[/PHP]

حيث كان أضافنا

(.*)
لتعبر عن الرقم الثاني

و اضفنا في الرابط القديم

$2

ليعبر عنا

ليصبح الرابط القديم

cat.php?catid=4&vote=7

و الجديد

cat4-7.htm


منقول

الاســـــتاذ 20 - 01 - 2008 01:39


بارك الله فيك أخوي الكريم

ابو حمزة


فقد أبدعة في هذا النقل الرائع والمفيد


أشكرك أخوي وأتمنى أن نرى لك إبداعات آخرى

الجرئ2006 24 - 01 - 2008 21:33

يسلموووووووووووو

اخي الغالي ابو حمزة

على النقل الاكثر من رائع


الساعة الآن 02:59.

Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd
ترقية وتطوير: مجموعة الدعم العربى
جميع الحقوق محفوظه لمدينة الاحلام ©


SEO by vBSEO