لنكمل سلسلة الدروس التي بدئنا بها ولاكن هذا الدرس لن يكون مترجم واليوم درسنا عن ملف htaccess

بسم الله نبدا:

في هذا الدرس سوف نشرح كيف نقوم بتجميل الرابط الخاص بنا لتحسين SEO وليسهل على المستخدم حفظ الرابط :).

هذه العملية يطلق عليها البعض الروابط النظيفة وهي تقوم بتحسين SEO الخاص بموقعك ونكسب روابط جميلة.

التوضيح

فل نفرض لدينا صفحة باسم users.php لعرض بروفايل المستخدم, وهذه الصفحة تاخذ GET باسم هذا المستخدم لعرض البيانات الخاصة به فسوف يكون الرابط على هذا الشكل:

www.websiet.com/user.php?user=hussam

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

www.websiet.com/user/hussam

جميل اليس كذألك!؟

دعونا نشاهد صورة توضيحية لنفهم الامر اكثر

http://bit.ly/1CN9xPL

كما نلاحظ في الصورة كيف تجري الامور وسوف نفهم الامر اكثر اثناء العمل.

لنبدا

اول شئ يجب علينا انشاء ملف .htaccess عن طريق محرر النصوص

" ان اردت ان تعرف تفاصيل اكثر اقرا هذه المقالة : كيفية إزالة الملحقات “php، html، htm” بواسطة (htaccess) "

http://bit.ly/1CNbKe9

ملاحظة: ان كنت تريد تنفيذ الامر على الاستضافة فهذا الملف لا يظهر مع الملفات على استضافتك يجب عليك ان تتصفح الملفات عن طريق احد برامج FTP كي يظهر لك الملف.

ثانيا سوف نقوم بنشاء صفحة user.php

في هذه الصفحة سوف نقوم بطباعة اسم المستخدم المرسل لنا عن طريق GET وسف نكتب الكود التالي بها:

<?php
if (isset($_GET['user'])) {
    echo '<h1>اسم المستخدم: '.$_GET['user'].'</h1>';
}else{
    echo '<h1>404 - الصفحة المطلوبة غير موجودة</h1>';
}
?>

والان في ملف htaccess سوف نكتب هذا الامر:

# تفعيل اعادة التحويل
RewriteEngine on

# اعد التحويل الى صفحة وارسل user.php?user=xxxxx
RewriteRule ^user/([0-9أ-يa-zA-Z_.]+) user.php?user=$1 [NC,L]
# ([0-9a-zA-Z_.]+) المقصود بها : فقط قم بتمرير الاحرف الانجليزية الكبيرة والصغيرة والارقام و _ و . والاحرف العربية
# NC المقصود بها غير حساسة لحالة الاحرف
# L المقصود بها اذا القاعدة تطابقت فلا تعالج RewriteRules

لنشرح الامر اكثر المقصود هنا RewriteRule اعادة التحويل, ^user/ وهنا وضعنا user وهي الكلمة التي سوف تكون في الرابط ويمكننا ان نكتب اي شئ نريده.

$1 وهي القيمة التي سوف ترسل في الرابط مثلا : www.websiet.com/user/hussam والقيمة هنا hussam التي تكتب بعد user/ .

ان اردنا ان نرسل اكثر من GET الى صفحة ولنفرض صفحة عرض المقالات وهذه الصفحة تاخذ GET برقم المقالة (id) و GET بعنوان المقالة!

في الواقع سوف يكون العنوان بهذا الشكل www.websiet.com/article.php?id=1&title=Title-Goes-Here

هنا ارسلنا id و title الى صفحة article.php.

وبعد استخدام ملف htaccess سوف يصبح الرابط بهذا الشكل:

www.websiet.com/article/2/titel-article

وكي نرسل اكثر من GET عن طريق ملف htaccess سوف نكتب الامر التالي:

RewriteRule ^article/([0-9]+)/([0-9a-zA-Z_-]+) article.php?id=$1&title=$2 [NC,L]

كما تعلمنا سابقا نقوم بكتابة RewriteRule وبعدها الشئ الذي نريده ان يظهر في الرابط وانا اخترت article ونضع بعدها /([0-9]+)/([0-9a-zA-Z_-]+) وهنا علامة / الاولى هي الـ GET الاول المرسل

لصفحة المقالات وكتبنا بداخله ([0-9]+) والمقصود هنا اننا نريد ان نستقبل ارقام.

وعلامة / الثانية سوف نرسل بها الـ GET الثاني وكتبنا بداخلها ([0-9a-zA-Z_-]+) والمقصود هنا اننا نريد ان نستقبل قيمة من احرف اجنبية صغيرة وكبيرة وارقام.

وبعدها نقوم بتكابة اسم الصفحة التي نريد ان نرسل لها GET وانا اريد ان ارسل الى صفحة article.php وبعدها نقوم بكتابة اسماء GET التي سوف نستقبلها في صفحة article.php وسوف يصبح الامر بهذا الشكل article.php?id=$1&title=$2 سوف نرسل GET باسم id واخر باسم title و 1$ & $2 نقصد بها القيم المكتوبة في الرابط.

بسيطة جدا ولاكن تحتاج الى بعض التركيز.

النتائج:

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

الى هنا يكون قد انتها هذا الدرس فهو بسيط جدا, اتمنا ان لا تنسونا من صالح دعائكم :).