بستن کشویی
منوی کاربری
وبلاگ کاربران

pfndesigen(جمعه، ۱۲ شهريور، ۱۳۸۹)
@پاسخ بهjaber : مرسی...

jaber(جمعه، ۱۲ شهريور، ۱۳۸۹)
@پاسخ بهpfndesigen : تبریک می گم...

pfndesigen(پنج شنبه، ۱۱ شهريور، ۱۳۸۹)
اگر کاری را انجام دادید و نتیجه را بقیه دیدند , خیلی بیشتر تاثیر دا...

pfndesigen(پنج شنبه، ۱۱ شهريور، ۱۳۸۹)
@پاسخ بهjames : انشاالله ...

james(پنج شنبه، ۱۱ شهريور، ۱۳۸۹)
@پاسخ بهpfndesigen : مبارکه....

pfndesigen(پنج شنبه، ۱۱ شهريور، ۱۳۸۹)
سایت اختصاصی ما هم راه افتاد www.musici.ir...

pfndesigen(پنج شنبه، ۱۱ شهريور، ۱۳۸۹)
اگر روحیه کار گروهی نداشته باشی , به جایی نمی رسید . باید همیشه تابع...

MooCHooL(پنج شنبه، ۱۱ شهريور، ۱۳۸۹)
طراحی جدید من! : http://come4all.com/index.html قالب حدید کام فور آل...

MooCHooL(پنج شنبه، ۱۱ شهريور، ۱۳۸۹)
@پاسخ بهpfndesigen : ممنون داداش...

pmc_897(پنج شنبه، ۱۱ شهريور، ۱۳۸۹)
@پاسخ بهpfndesigen : شانس من قالب رو هیچ جوری نمی تونم ببینم یه عکس ازش ب...


شما هم بنویسید

نظرسنجی

10 دستور ضروری mod_rewrite برای سایت ها

ترفندهای طراحی ترفندهای طراحی ,چهارشنبه، 4 آذر، 1388 788Aneeshtan


در مقاله امروز به قوانین ضروری  در مورد  قابلیت Mod_rewrite  می پردازیم .  این قابلیت به معنای بازخوانی مسیرهای وب سایت است که بر پایه و قدرت سرویس Apache  استوار است .  این امکان به صورت بلفعل و نهادینه شده در سرورهایی که از Apache  پشتیبانی می کنند وجود دارد .
یکی از مهمترین کاربردهای این  سیستم بازخوانی آدرس های اینترنتی  , بالا رفتن میزان جستجو و ایندکس اطلاعات سایت شما توسط موتورهای جستجو است . واضح است که موتورهای جستجو مانند گوگل , یاهو  و غیره  آدرس های کوتاه و بدون متغیرهای متصل را  بهتر می خوانند و در نتایج جستجو خود در رتبه بالاتری نشان می دهند .
یکی از قدیمی ترین تعاریف این ساختار  همان  تبدیل آدرس های طولانی با پسوند php است که به آدرسهای کوتاه با پسوند html خلاصه می شود . که این تنها کارکرد این سیستم نیست .

در ادامه به معرفی 10 قانون ضروری Mod_rewrite  می پردازیم .



 

فعال کردن Mod_Rewrite

برای فعال کردن Mod_rewrite کار ساده ای پیش رو داریم .

کافی است در فایل .htaccess  که معمولا در اکثر پورتال ها مانند نیوک  در روت می باشد کد زیر را وارد نمایید .

RewriteEngine on 

دقت کنید که فایل .htaccess به بزرگ یا کوچک بودن حروف حساس است و بهتر است قبل از هر کد دیگری کد بالا

 

شمای کلی دستورات Mod_Rewrite

 

RewriteRule Pattern Substitution [Flag(s)] 

 

 

آدرس های درج شده بر مبنای مسیر فایل .htaccess

این موضوع ممکن است خیلی ساده به نظر آید اما واقعا فراموش کردنش  ممکن است ساعت ها وقت را هدر دهد .

دقت کنید که آدرس های درج شده در فایل .htaccess  می بایست منطبق با مسیر خود فایل .htaccess باشد . یعنی اگر در پوشه این فایل را گذاشتید می بایست دقت کنید که نام آن پوشه نیز می بایست در آدرس ها درج شود

 

دستور ساده بازخوانی

redirect کردن به معنای جهت دادن مسیر کاربر است . و برای این کار کافی است کد زیر را قرار دهید .  مثلا برای خطای 404 یا ... این کد استفاده خواهد شد .

 

RewriteRule ^fileone.html$ filetwo.html

 

این کد ساده به معنای آن است که تمامی بازدیدها از فایل fileone.html به مسیر  بعدی یعنی filetwo.html ختم شود .

 

 

آدرس خود را بی نیاز از  WWW  کنید

این کار گرچه در نگاه اول ساده به نظر می آید اما شاید باور نکنید که یکی از اولین کارهای لازم برای بالا بردن رتبه در گوگل است .

بازدیدکنندگان زیادی سایت شما را بدون www می زنند و این  دو دستگی ایجاد می کند .

حال در عبارت بالا فرض بر این گرفتیم که سایت شما بدون www باز می شود .

برای اینکه سایت شما بدون www باز شود کد زیر می تواند به شما کمک کند :

 

RewriteCond %{HTTP_HOST} !^domain.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]

 

 

محدود کردن آدرس های IP

یکی از راه های بستن دسترسی برخی افراد  , محدود کردن IP آن ها است . شما می توانید با کد زیر  IP آن ها را از ورود به سایت محدود کنید .

 

RewriteCond %{REMOTE_ADDR} ^(A.B.C.D)$
RewriteRule ^/* http://www.domain.com/sorry.html [L]
 

 

A.B.C.D  را با IP  مورد نظر عوض کنید . دقت کنید که قبل از هر نقطه   بگذارید .

 

محدود کردن مسیر ورودی کاربران

گاهی کار به محدود کردن IP  ختم نمی شود و نیاز  است برخی اوقات مسیر ورودی  را و سرویس دهنده را محدود کنیم .

با محدود کردن سرویس دهنده  user agent   می توان در یکجا  بسیاری از IP  ها رو محدود کرد

برای این کار کد زیر  لازم است

 

RewriteCond %{HTTP_USER_AGENT} UserAgent 
RewriteRule .* - [F,L] 

 

دقت کنید که به جای HTTP_USER_AGENT  می بایست آدرس سرویس دهنده مورد نظر را قرار بدهید .

 

 

تمیز کردن اطلاعات

می توان گفت که به جز صفحه ابتدایی شما اکثر قریب به اتفاق صفحات سایت شما مسیر شبیه این دارند

http://www.nukelearn.com/modules.php?name=Downloads&d_op=getit&lid=32

که اصلا چشم نواز نیستند و موتورهای جستجو در برخورد با آن ها  نسخه ای همانند صفحه دانلود شما نشان می دهند . برای پرهیز از اینگونه آدرس ها کد زیر می تواند کارا باشد .

RewriteCond %{QUERY_STRING} example=
RewriteRule (.*) http://www.domain.com/$1& [R=301]
 

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

مثلا آدرس زیر :

http://www.nukelearn.com/Shop-Order-57.html

 

استفاده از تصویر پیش فرض

امکان استفاده از تصویر پیش فرض زمانی که لینک عکس هدف  خراب می شود می تواند بسیار بهتر از این باشد که با ضربدر جایگزنی شود و یا کلا نشان داده نشود .

 

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^images/.*.jpg$ /images/default.jpg [L]

 

البته  تغییر  پسوند JPG به آنچه می خواهید در دست شما است دقت به مسیر فایل  پیش فرض بکنید.

 

جلوگیری از دزدیده شدن اطلاعات

نفرت انگیز چیزی که مدیران وب سایت ها از ان هراس دارند دزدیده شدن مقالاتشان توسط دیگران است و از آن بدتر  استفاده از عکس های آن ها و استفاده شدن پهنای باندشان است .

با این کد ساده شما می توانید از حرکت زشت آن ها جلوگیری کنید

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?domain.com/ .*$ [NC]
RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]

 

به جای domain.com  آدرس خود را وارد نمایید

 

انتقال به مسیر دیگر ( سایت در دست تعمیر است ) 

اگر لازم است سایت خود را برای مدتی خارج از دسترس کاربران کنید و به اصلاح آن را آفلاین کنید و در این مدت کاربران صفحه دیگری  به عنوان صفحه  در دست تعمیر را ببینند 

کد زیر می توانید این کار را انجام دهد .

RedirectMatch 302 ^/ /maintenancepage.html

 

دقت کنید که فایل maintenancepage.html  می بایست در روت هاست شما وجود داشته باشد .

 

انتقال مسیر چند دامنه به یک دامنه مرکزی

اگر شما برای سایت خود چندین دامنه در نظر گرفتید و می خواهید هر کدام از آن ها که استفاده شد به یک دامنه مرکزی منتقل شود  کد زیر راهکار این مساله است .

RewriteCond %{HTTP_HOST} ^www.domain.net$ [NC,OR]
RewriteCond %{HTTP_HOST} ^domain.net$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain.net$ [NC]
RewriteRule ^(.*)$ http://domain.net/$1 [R=301,L]
 

فایل های سیستمی ارجعیت دارند

دقت کنید که گاها در هاست هایی دیده می شود که  مثلا پوشه ای به نام  services  وجود دارد و در داخل آن  فایلی مثلا با نام design.html  وجود دارد . حال موضوع این جاست که نمی شود  از انتقال مسیر به داخل این پوشه استفاده کرد و  دستورات rewrite خنثی خواهند شد .

برای حل این مشکل می توان آن پوشه را تغییر نام داد .

 

 

دقت کنید که چند نکته لازم ذکر است

1- فایل htaccess  به حروف کوچک و بزرک  حساس است

2- از این فایل  پشتیبان داشته باشید  تا در موقع نیاز آن را بتوانید بازگردانید

 

موفق باشید

نیوک لرن

rewrite,rules,seo,htaccess,تغییر مسیرها,

لذت اشتراک گذاری

ارسال به بلینک لیست ارسال به خوشمزه ارسال به ديگ ارسال به فرل ارسال به ردديت ارسال به تکنوراتي ارسال به یاهو مای وب ارسال به 100 درجه کلوب ارسال به بالاترین ارسال به دنباله ارسال به مهندس ارسال به استامبل ارسال به نتوز ارسال به فرندفید ارسال به تویتر ارسال به فیس بوک ارسال به سیمپی ارسال به Windows Live اشتراک گذاری در گوگل ارسال لینک از طریق یاهو مسنجر برای دوستان ارسال به سرویسهای دیگر


اختیارات

 چاپ این مطلب چاپ این مطلب


پیوندهای مرتبط

· مطالب بیشتر در مورد آموزش طراحی سایت و ابزار لازم
· سایر مطالب نوشته شده توسط Aneeshtan


پربازدیدترین مطلب در زمینه آموزش طراحی سایت و ابزار لازم:
20 گالری فلش آماده و رایگان : قسمت اول


Comments


    kralpc

 
فرشاد جان ممنون مورد نهم خيلي به دردم خورد
جمعه، 6 آذر، 1388

    Hacker_07

 
خیلی مفید بود - ممنون
پنج شنبه، 5 آذر، 1388

    jaber

 
ممنون فرشاد جان عالی بود
چهارشنبه، 4 آذر، 1388

Aneeshtan (چهارشنبه، 4 آذر، 1388)

ur welcome DD
مدت زمان ایجاد صفحه : 0.08 ثانیه
تعداد ارتباط : 88
حافظه درگیر :2.4024310298098
Nukelearn USV © 2009-2011 Nukelearn