• php
  • 11210
  • 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

    و بالتوفيق إخواني الاعزاء
    عدد المقيّمين 2 إجمالي التقييمات 9
    12345