mod_rewrite چیست و چرا استفاده می شود ؟

ارسال شده توسط بهروز پولادرگ در تاریخ: ۱۹ مرداد ۱۳۸۷

به URL فرضی پائین یه نگاهی بندازین


http://yoursite.com/tutorials.php?req=tutorial&id=3&page=0

حالا یه نگاهی هم به این یکی بندازین

http://yoursite.com/tutorials/3/0.php

حفظ کردن کدوم راحت تره؟! (ببخشید اگه زیادی خنگ بازی شد!)

mod_rewrite یکی از قابلیت‌های web Serverها برای تبدیل کردن URLهایی با QueryStringهای طولانی به URLهای به اصطلاح User Friendly هست! (همشو انگلیسی می‌نوشتم سنگین‌تر بود!) با استفاده درست از این ماژول، حفظ کردن یه URL برای ویزیتورهای سایتتون به مراتب آسون تر میشه.
برای استفاده از mod_rewrite یه سری مقدمات لازمه. اینکه یا روی Serverتون اون رو نصب کرده باشین و دسترسی مربوط به تغییر دادن فایل httpd.conf رو داشته باشین، یا اینکه به Admin سایتتون بگین که اون رو فعال کنه. (که در خیلی از موارد هم فعال هست)
فرض رو بر فعال بودنش می‌گیریم و می‌ریم سر اصل مطلب

تمام کاری که باید انجام بدیم قراردادن یه سری تنظیمات در فایل htaccess. شبیه دو تا خط پائینه:

RewriteEngine On
RewriteRule ^tutorials/(.*)/(.*).php/
tutorials.php?req=tutorial&tut_id=$1&page=$2 

خط اول که چیز خاصی نداره. برای راه انداختن mod_rewriteه. بذارید یکی یکی قسمتهای رنگی خط دوم رو توضیح بدم.
قسمت قرمز رنگ برای Server این رو مشخص می کنه که ما داریم یه RewriteRule تعریف میکنیم. قسمت سبز رنگ به Server میگه که بعد از قرار دادن/tutorials/ ما دو تا جایگزینی داریم (علامت‌های (*.) برای این کار هستن) که حالا در قسمت آبی رنگ بهت میگم چی باید به جاشون بذاری و این قسمتها رو به ترتیب با علامت‌های ۱$ و ۲$ برات مشخص کردم. یه دونه php. هم به آخر ۲$ بچسبون!
پس به این ترتیب mod_rewrite با دو خط بالا می فهمه که URL زیر رو:

/tutprials.php?req=tutorial&tut_id=13&page=0

باید به این تبدیل کنه:

/tutorials/13/0.php

دیگر مطالب سایت به صورت اتفاقی

یک ستارهدو ستارهسه ستارهچهار ستارهپنج ستاره (بدون رای)
کمی صبر نمایید ... کمی صبر نمایید ...
Balatarin Donbaleh Mohandes ارسال به آئیریانا Delicious Digg Stumbleupon Furl Friendfeed Greader Facebook Twitter Subscribe to Feed
مشترک مطالب پادشاه فلش شويد!

آدرس ایمیل خود را وارد نمایید :

آيا شما از اين مطلب لذت برديد؟ چرا ديدگاه خود را در زير نمي نويسيد و گفتگو را ادامه دهيد، يا مشترک خوراک من شويد و مقاله هايي مانند اين را روزانه توسط ایمیل خود دریافت نمایید.

۲ پاسخ برای "mod_rewrite چیست و چرا استفاده می شود ؟"

1 | sina

۱۲ اردیبهشت ۱۳۸۸ در ساعت ۱۲ اردیبهشت ۱:۴۱ ق.ظ

این mod_rewrite خیلی چیز مفیدی است.

لطفا به کد زیر توجه کنید:
RewriteCond %{HTTP_HOST} !^www\.name\.com$ [NC]
RewriteRule ^(.*) http://www.name.com/$1 [QSA,L,R=301]

این flag ها (تنظیمات) آخر دستورات چیه و طبق چه قائده ای نوشته میشوند؟
منظورم [NC] یا [QSA,L,R=301] و چیزای دیگه که بین [*] قرار میگیرن
لطفا یه منبعی برای درک اینها معرفی کنید من که هر چی گشتم چیزی در این مورد خاص پیدا نکردم!

2 | بهروز پولادرگ

۱۲ اردیبهشت ۱۳۸۸ در ساعت ۱۲ اردیبهشت ۹:۴۷ ق.ظ

به زودی مطلبی مفصل در این رابطه خواهم نوشت
mod_rewrite و Apache دنیایی داره واسه خودش ;)

نوشتن نظر


  • بهروز پولادرگ: در واقع یک نوع ایجاد هدر تقلبی و نفوذ به کد می باشد که می بایست برای آپلود بسیار مورد توجه
  • بهروز پولادرگ: سلام ممنون از نظرتون آلا عزیز برنامه نویسی حیته های زیادی دارد ، اگر شما به برنامه نویسی
  • آلا: من امروز با سایت شما اشنا شدم واز شما به خاطر دانلود آموزش فلش بسیار ممنونم آقای پولادرگ
  • مهدی: سلام راجب به مطلب hack.gif میشه بیشتر توضیح بدید؟ و راههای جلوگیریش؟ تشکر

درباره نویسنده

بهروز پولادرگ

نام و نام خانوادگی : بهروز پولادرگ
متولد : ۵ مرداد سال ۱۳۶۷
حرفه : طراحی وب ، برنامه نویسی ، طراحی گرافیک، ملتی مدیا ، فلش و نرم افزار های تحت وب



مصاحبه من با ایرنا در روزنامه ابرار اقتصادی -بخش رایانه
رزومه من در کلوب دات کام
پروفایل ساده من به صورت گرافیکی

تقویم مطالب

تیر ۱۳۸۸
ش ی د س چ پ ج
« خرداد    
 ۱۲۳۴۵
۶۷۸۹۱۰۱۱۱۲
۱۳۱۴۱۵۱۶۱۷۱۸۱۹
۲۰۲۱۲۲۲۳۲۴۲۵۲۶
۲۷۲۸۲۹۳۰۳۱  

تویتر بازی های من

Posting tweet...

خبرنامه

آدرس ایمیل خود را وارد نمایید :

با عضویت در خبرنامه مطالب جدید پادشاه فلش به آدرس ایمیل شما ارسال می شود، برای عضویت تنها کافیست آدرس ایمیل خود را وارد نمایید و بر روی دکمه عضویت کلیک کنید

تبلیغات