السلام عليكم
عيد سعيد عليكم جميعا وبهذه المناسبة حبيت اعطيكم درس بسيط في الدمج بين المود رايت و البي اتش بي واللي راح تعطينا نتيجة حلوة مع محركات البحث
الجميع يعرف المود رايت والتي تقوم بتحويل امتداد صفحات php الى htm
لكن لو اتنينا الى الكلام الصحيح
هل من المعقول ان محرك البحث لا يستطيع ارشفة php ?
اكيد لأ
لكن ربما له اعتبارات اخرى فمثلا ممكن انه يعتبر html صفحات ثابتة و لن تتغير لذلك ارشفتها تكون سريعة وليس مثل php كل يوم محتوى جديد 
الان لنفرض انا عملت سكربت مقالات طبية مثلا
وكانت فيه روابط لصفحات بهذه الطريقة
كود PHP:
page.php?page=1
page.php?page=2
page.php?page=3
واريد عملها على شكل html كالتالي
كود PHP:
page1.html
page2.html
page3.htm
ببساطة افتح ملف .htacess واضع فيه التالي
كود PHP:
RewriteEngine on
RewriteRule ^page(.*)\.html$ /page.php?&page=$1/ [L]
وفي مثال عملي للتطبيق
في البداية كنا نظبع الروابط هكذا في برنامجنا
كود PHP:
<?php
echo "<a href='page.php?page=".$PageID."'>".$PageTitle."</a>";
?>
الان سوف نطبعها هكذا
كود PHP:
<?php
echo "<a href='page".$PageID.".html'>".$PageTitle."</a>";
?>
هل ترون مدى سهولة العملية 
الان لنأتي الى الخطوة الثانية
لنفرض ان الرابط به اكثر من متغير !!
كيف ؟
هيك ,,
كود PHP:
cars.php?type=1&sort=asc
cars.php?type=1&sort=desc
cars.php?type=2&sort=asc
cars.php?type=2&sort=desc
هنا لدينا ملف يعرض السيارت التي من النوع 1 او 2 او 3 او او او ....الخ
ويعرض ايضا طريق تريتب هذه السيارت تصاعدي او تنازلي
نريد ان تكون الروابط كالتالي :
كود PHP:
cars1_asc.html
cars1_desc.html
cars2_asc.html
cars2_desc.html
لاحظو فصلنا بين المتغيرين بـ ( _ ) و وضعنا اسم الملف cars ايضا
الان ببساطة اضع كودي لتحويل في اتش تي اكسس
كود PHP:
RewriteEngine on
RewriteRule ^cars(.*)_(.*)\.html$ /cars.php?&type=$1&sort=$2/ [L]
حطينا كلمة كارز و مباشرة بجنبها رقم النوع ثم شحطة سفلية ثم طريقة الترتيب !!
القوس الأول بعد كارز يعبر عنه المتغير $1
والقوس الثاني يعبر عنه المتغير $2
وهكذا
الان لما لو بحث احد الاشخاص عن سيارة bmw 300 في جوحل !!
ما نسبة ظهوري في جوجل !!!
هي نسبة ضعيفة مع المواقع الكبيرة !!
وقوية مع المواقع التي مثلي ولكنها لا تستخدم مود رات !!
لماذا لا تكون فرصتي اقوى !!
بحث اني اضع اسم السيارة و الموديل في لينك السكربت الذي يذهب الى السايرة مع النوع 
هذا مثال عملي
كود PHP:
review.php?car=1
هذا الملف الاصلي قبل المود رايت
الان الملف بعد المود رات واريدها مع الاسم و النوع !! 
كيف ؟!!
اريدها هكذا مثلا
كود PHP:
review1_bmw-300.html
وضعت اسم الملف لان ممكن الباحث يكتبها في جوحل لهذا فإنه من المهم اختيار اسماء ذات معاني لمفاتك في السكربت
طيب لو فكرنا قليلا !!
يعني انا اريد اسم السيارة !!
واسم السيارة مخزن في قاعدة البيانات !!
لسى بدي اطول الاسم من خلال الاي دي ومش عارف شو
يعني قصة طويلة كثير !!!
لذلك من الافضل وضع اسم السيارة على شكل GET مثل ID
مثال
كود PHP:
review.php?car=1&title=bmw-300
الان لدينا اسم السيارة و اي دي السيارة لسحب باقي معلومات السيارة في السكربت
الان استطيع تحول الرابط بكل سهولة
هكذا
كود PHP:
RewriteEngine on
RewriteRule ^review(.*)_(.*)\.html$ /review.php?&car=$1&title=$2/ [L]
فقط !! 
فهمتو ؟
وبشكل عملي هكذا سوف نطبع الرابط في السكربت
كود PHP:
<?php
echo "<a href='review".$CarID."_".$CarTitle.".html'>".$CarTitle."</a>";
?>
الان من الممكن ان يكون اسم السيارة به رموز لا تصلح لان تكون في رابط !!
مثل المسافة !! او سلاش سلاش ورا بعض
لذلك سوف ارفك لكم كلاس بسيط يقوم بإستبدال اي شي مخلف في الرابط بشيء يصلح مع الرابط
كود PHP:
<?php
function StripUrl($title)
{
$title = str_replace("#", "sharp", $title);
$title = str_replace("/", "or", $title);
$title = str_replace("$", "", $title);
$title = str_replace("&", "and", $title);
$title = str_replace("&", "and", $title);
$title = str_replace("+", "plus", $title);
$title = str_replace(",", "", $title);
$title = str_replace(":", "", $title);
$title = str_replace(";", "", $title);
$title = str_replace("=", "equals", $title);
$title = str_replace("?", "", $title);
$title = str_replace("@", "at", $title);
$title = str_replace("<", "", $title);
$title = str_replace(">", "", $title);
$title = str_replace("%", "", $title);
$title = str_replace("{", "", $title);
$title = str_replace("}", "", $title);
$title = str_replace("|", "", $title);
$title = str_replace("\\", "", $title);
$title = str_replace("^", "", $title);
$title = str_replace("~", "", $title);
$title = str_replace("[", "", $title);
$title = str_replace("]", "", $title);
$title = str_replace("`", "", $title);
$title = str_replace("'", "", $title);
$title = str_replace("\"", "", $title);
$title = str_replace(" ", "", $title);
return $title;
}
?>
التطبيق العملي للكلاس كالاتي :
كود PHP:
<?php
echo "<a href='review".$CarID."_".StripUrl($CarTitle).".html'>".$CarTitle."</a>";
?>
ببساطة هذه htaccess 
اتمنى ان اكون قد وفقت في شرح هذا الدرس الحصري واتكنى من ينقل الدرس لا ينسى يذكر اسمي ( النحات )
واي سؤال انا حاضر ضمن اطار هذا الدرس
واعتبرو هذا الدرس مقدمة ل PHPBoys