بتـــــاريخ : 2/26/2011 3:59:22 AM
الفــــــــئة
  • الحـــــــــــاسب
  • التعليقات المشاهدات التقييمات
    0 1990 0


    درس : apache و mode rewriting ( رقم 1 ) إختصار URLs (روابط)المواقع الديناميكية

    الناقل : elmasry | العمر :42 | الكاتب الأصلى : shreef | المصدر : www.arabteam2000-forum.com

    كلمات مفتاحية  :

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

    هذا الدرس بسيط و خفيف و هام فى نفس الوقت
    و هو يعتمد على اعدادات سيرفر اباتشى فسيكون التعامل عبر ملف سنطلق عليه اسم .htaccess

    لكن قبل البدء فى النقاش وجب على ان اوضح المقصود مما سنفعله و بعض من الأسباب التى دفعتنا الى هذا

    و سنأخذ كمثال للغات برمجة المواقع الديناميكية لغة php

    فعندما نتصفح احد هذه المواقع نجد عناوين او بالأصح URLs الصفحات كهذا المثال

    http://www.test.com/...?s=526&id=flash

    للتوضيح : كلاً من s و id متغيرات داخل الصفحة index.php تم تمريرها عبر الـ URL لتنفيذ قيمها

    و هذا ما نريد تغييره لأسباب منها
    1 - محركات البحث مثل جوجل تضع تقييم اقل لمثل هذه الـ URLs لأنها تعتبر مضللة و تعيق عملية البحث السليم.
    2 - هذه العناوين صعبة و غير عملية بالنسبة للمستخدم العادى .


    عموما لنبدء الأن قم بعمل ملف جديد بإسم htaccess.
    ضع به هذا الكود

    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !-f
    RewriteRule /*^s-([0-9]+)/([0-9A-Za-z]+).html  index.php?s=$1&id=$2

    فى السطر الرابع :
    /*^s-([0-9]+)/([0-9A-Za-z]+).html

    دى عبارة عن جملة regular expretion

    يمكنك التلاعب بها كما تريد لو لديك الخبرة - ( هذه النقطة مفيدة فى التأمين )-

    index.php?s=$1&id=$2 هنا ستكون قيمة المتغير s تساوى 1$
    و عند التطبيق سيتم استبدال 1$ بما يطابق ([0-9]+)

    و نفس ما حدث يتكرر مع id التى ساويناها مع 2$
    و عند التطبيق سيتم استبدال 2$ مع ما ينطبق عليه الشرط ([0-9A-Za-z]+)

    بحيث لو كان URL الصفحة هو www.test.com/index.php?s=254&id=flash

    سيكون بعدها بهذا الشكل www.test.com/s-254/flash.html

    ....................................................................................
    ملاحظات :

    ضع ملف htaccess. فى نفس المجلد الحاوى للملف المنفذة عليه العملية ( فى المثال كان الملف هو index.php )

    regular expretions : هى اسلوب او وسيلة لعمل قوالب حرفية --- اى ان اكون بها مقياس لشكل و ترتيب مجموعة من حروف
    كما فى هذا المثال البسيط

    (+[9-0])-s^ معناها ان اول حرف يجب ان يكون s و ذلك لأن سبقتها العلامة ^ ثم ثانى حرف هو الرمز - ( dash )
    ثم يليها اى رقم من 1 الى 9 و علامة + ( plus ) تفيد بأن الرقم من الممكن ان يتكرر مرة او اكثر

    *** بالطبع يمكنك البحث اكثر عن regular expretions لتعرفها بالتفصيل ***


    الموضوع ليه بقية بس فى وقت اخر إن شاء الله

    رجاء المشاركة بسؤال او اقتراح او تعديل او مناقشة و ليس مجرد كلمة شكرا

    كلمات مفتاحية  :

    تعليقات الزوار ()