Nwahy Articles V3 pro

خاصية الـ mod rewrite في تغير إمتداد الملفات

خاصية الـ mod rewrite في تغير إمتداد الملفات

القسم php - الزيارات 10326 - التاريخ 15/7/2008 - الكاتب حازم علي
بسم الله الرحمن الرحيم

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

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

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

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


RewriteEngine on


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

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


RewriteRule ^New Url$ old Url


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

RewriteRule

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

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

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

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

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

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

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

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


RewriteEngine on
RewriteRule ^index.htm$ index.php


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

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

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


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

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

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

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


==============



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


index?action=cat&id=17

فهذه الصفحه بطبيعة الحل متعددة الصفحات حيث ال id يمثل قيمة كل صفحه سيتم إستدعائها

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

و قوم بتعريف الاساسيات كما فعلنا في الجزء الاول من الدرس


RewriteEngine on

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


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

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

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

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

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

index.php?action=cat&id=84

سيكون الجديد

index84.html

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

cat.php?catid=4&vote=7

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

RewriteEngine on

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


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

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

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

$2

ليعبر عنا

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

cat.php?catid=4&vote=7

و الجديد

cat4-7.htm


و بالتوفيق إخواني الاعزاء
Facebook Twitter Google+ Pinterest Reddit StumbleUpon Linkedin Tumblr Google Bookmarks Email

أضف تعليقك على الموضوع