یکی از دغدغه های فعلی طراحان وب، ایجاد لینک های “موتور جستجو پسند!” شده. پر بیراه هم نیست، که این لینکها هم به راحتی به خاطر سپرده میشوند و هم اینکه خواناتر هستند هم برای آدمیزاد هم ربات. ابن لینکها، برای یک سایت SEO Friendly یکی از مهمترین بخشهاست.
اکثر CMS ها یا Framework ها امکاناتی برای ایجاد این لینکها معرفی میکنند. منتها اگر لازم باشه که خودتون بنویسیدش، شاید یه کم دردسر ساز بشه. تو این پست میخوام توضیح بدم با آپاچی و PHP چطوری میشه این کار رو انجام داد.
معمولا، آدرسهای اینترنتی به این صورت هستن :
http://example.com/users.php?id=10&action=delete&uid=somedata
که ما ترجیح میدیم (مثلا) اینطوری باشن (که من هدفم همینه):
http://example.com/users/id:10/action:delete/uid:somedata
یا مثلا این :
http://example.com/users/id/10/action/delete/uid/somedata
دو تا حالت فرقی نمیکنه، شاید شما بخواید حتی جور دیگه ای ایجادش کنید که یه کم بحث سلیقه و انتخاب شخصی خودتون و نیازها مطرح میشه. من حالت اول رو توضیح میدم، دومی هم آنچنان فرقی نمیکنه.
۱- ملزومات
اولین چیز آپاچی هستش با mod_rewrite که روش نصب و فعال باشه. برای باقی وب سرور ها هم ممکنه، مثلا lighttpd هم این قابلیت رو داره با کمی تفاوت، و IIS 7 هم . منتها برای IIS های قدیمیتر، بدون یک سری اضافات ممکن نیست. البته میشه از error document استفاده کرد، که در آینده اگه حسش بود و وقتش بود توضیح میدم دربارش (همین الان من از این استفاده میکنم، توی IIS 6 و همین وبلاگ)
بعد از نصب آپاچی مطمئن بشید که mod_rewrite فعاله. توی تنظیمات بگردید دنبالش، یه خطی به این صورت :
LoadModule rewrite_module modules/mod_rewrite.so
البته نکته جالب برای خودم اینه که الان اصلا و ابدا من این فایل mod_rewrite.so رو ندارم، توی تنظیمات آپاچی هم نیست همچین خطی ولی rewrite فعاله!! (من از Zend Server CE استفاده میکنم) حالا راه ساده تر (اگه به تنظیمات دسترسی ندارید یا مثل من نسخه تغییر داده شده آپاچی رو نصب دارید) اینه که اینطوری تستش کنید:
یه فایل بسازیدد توی پوشه ریشه آپاچی به اسم .htaccess (یک نقطه، قبل از اسم فایل هست، یعنی در حقیقت فایلی بدون اسم با پسوند htacces برای ویندوزیها و برای لینوکسی ها یک فایل مخفی.)
تا جایی که یادمه توی ویندوز نمیشد از طریف explorer چنین فایلی ساخت، به جاش یه فایل بسازید با notepad بعد با اون که ذخیرش کنید با این اسم.داخلش این کد رو بنویسید :
RewriteEngine On
بعد سایت رو از طریق بروزر باز کنید. اگه صفحه 500, Internal Server Error گرفتید یعنی نصب نیست. در غیر اینصورت مشکلی نیست.
یه نکته که فراموش کرده بودم این بود که توی تنظیمات اصلی آپاچی، اونجایی که Virtual Host رو تعریف میکنید عبارت
AllowOverride All
باشه، یعنی دست کم None نباشه به جای All.
باقیش هم که فقط مربوط میشه به PHP و تمام.
ادامه مطلب