1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

آموزش کد های Htaccess

شروع موضوع توسط minaaa ‏30/1/11 در انجمن طراحی سایت

  1. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,773
    تشکر شده:
    6,457
    امتیاز دستاورد:
    113
    نکته های Htaccess ۱ - روشن و آماده استفاده کردن mod_rewrite :

    mod_rewrite را می توانید از درون فایل htaccess خود اجرا کنید برای اینکه ماژول mod_rewrite را آماده استفاده کنید از کد زیر در فایل htaccess استفاده کنید. بهترین مکان برای قرار دادن این کد در همان سطر اول htaccess می باشد.

    کد:

    <code style="overflow-x: auto; overflow-y: auto; height: auto; max-height: 200px; display: block; direction: ltr; text-align: left; font-family: Tahoma; font-size: 10px; ">RewriteEngine on</code>


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

    ================================

    ۲- حالت نمونه کد های mod_rewrite

    حالت ساده و نمونه mod_rewrite بصورت زیر است

    کد:

    <code style="overflow-x: auto; overflow-y: auto; height: auto; max-height: 200px; display: block; direction: ltr; text-align: left; font-family: Tahoma; font-size: 10px; ">RewriteRule Pattern Substitution [Flag(s)]</code>


    ================================

    3 - یک انتقال ساده

    اگر خواستید یه انتقال ساده از یک url به یک url دیگر داشته باشید می توانید از کد زیر استفاده کنید

    کد:

    <code style="overflow-x: auto; overflow-y: auto; height: auto; max-height: 200px; display: block; direction: ltr; text-align: left; font-family: Tahoma; font-size: 10px; ">RewriteRule ^fileone.html$ filetwo.html</code>


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

    ================================

    4 - ممنوع الورود کردن یک آی پی خاص

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

    کد:

    <code style="overflow-x: auto; overflow-y: auto; height: auto; max-height: 200px; display: block; direction: ltr; text-align: left; font-family: Tahoma; font-size: 10px; ">RewriteCond %{REMOTE_ADDR} ^(A.B.C.D)$
    RewriteRule ^/* http://www.domain.com/sorry.html [L]</code>


    به جای A B C D اجزای چهارگانه IP مورد نظر رو وارد کنید و به جای

    http://www.domain.com/sorry.html آدرس مورد نظر که مثلا می تونه یک صفحه حاوی پیغام هشدار باشه رو وارد کنید

    ================================

    ۶- خلاص شدن از دست Query Strings

    اگر بیشتر url ها در وبسایت شما چیزی مانند

    http://www.domain.com/home.html?example=12345abcd

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

    کد:

    <code style="overflow-x: auto; overflow-y: auto; height: auto; max-height: 200px; display: block; direction: ltr; text-align: left; font-family: Tahoma; font-size: 10px; ">RewriteCond %{QUERY_STRING} ^id=456&lid=789.* [NC]
    RewriteRule (.*) http://www.domain.com/$1? [R=301]</code>


    با این کد نه تنها از دست query ه راحت میشید بلکه از دست اون علامت سوال هم را حت میشید .

    این کار یه جنبه امنیتی هم داره و اون جلوگیری از هک شدن وبسایت از طریق sql injection هست .

    ================================

    ۷- تصویر پیشفرض

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

    کد:

    <code style="overflow-x: auto; overflow-y: auto; height: auto; max-height: 200px; display: block; direction: ltr; text-align: left; font-family: Tahoma; font-size: 10px; ">RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^images/.*.jpg$ /images/default.jpg [L]</code>


    با جایگزین کردن images/default.jpg/ با آدرس تصویر پیشفرض و تغییر دادن /images و jpg. محل تصاویر و فرمت تصاویری رو که می خواهید در صورت اشکال با images/default.jpg/ جایگزین بشه ، کد رو اختصاصی و آماده استفاده در سرور خودتون کنید

    ================================

    ۸ - جلوگیری از hotlinking

    سارقان مطلب و bandwidth با کپی کردن لینک فایل های درون سرور شما ( مثالا تصاویر ، موزیک ها ، کلیپ های فلش و …) به پیشرفت سایت خودشان کمک می کنند و به جای آن از پهنای بایند شما استفاده می کنند که می تواند باعث کندی لود شدن صفحات سایت شما و یا حتی در برخی موارد تمام شدن پهنا باند ماهیانه شما بشه . برای اینکه جلوی این افراد رو بگیرید از کد زیر استفاده کنید .

    کد:

    <code style="overflow-x: auto; overflow-y: auto; height: auto; max-height: 200px; display: block; direction: ltr; text-align: left; font-family: Tahoma; font-size: 10px; ">RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(http://www.)?domain.com/ .*$ [NC]
    RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]</code>


    در کد بالا domain.com رو با دامین سایت خودتون عوض کنید

    ================================

    ۹ - منتقل کردن از چند دامین به یک دامین دیگر

    کد:

    <code style="overflow-x: auto; overflow-y: auto; height: auto; max-height: 200px; display: block; direction: ltr; text-align: left; font-family: Tahoma; font-size: 10px; ">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]</code>


    اگر از چند دامین برای آدرس دهی با سایتتان استفاده می کنید این امر ممکن است که هر دو دامین را به یک دامین دیگر روی سرور بفرستید

    فقط به جای http://www.domain.net و domain.net دو دامین خودتون رو بنویسید و به جای http://domain.net آدرس جدید رو بنویسید

    ================================

    ۱۰- فراموش نکنید که :

    * mod_rewrite از درون فایل htaccess اجرا می شود

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

    * همیشه قبل از دست کاری فایل htaccess از اون نسخه پشتیبان تهیه کنید
     
    AftabGardoon از این پست تشکر کرده است.