10 نکته آموزشی برای Htaccess
نمایش نتایج: از شماره 1 تا 1 , از مجموع 1

موضوع: 10 نکته آموزشی برای Htaccess

  1. babiz آواتار ها
    babiz
    مدیر سابق
    Nov 2011
    84,119
    31,889
    تشکر شده : 43,718

    پیش فرض 10 نکته آموزشی برای Htaccess

    در این مطلب یادمیگیرید :

    1 - روشن و آماده استفاده کردن mod_rewrite
    2 - ساینتکس کد های mod_rewrite
    3 - یک انتقال ساده
    4 - ممنوع الورود کردن یک آی پی خاص
    5 - جلوگیری از hotlinking (جلوگیری از سرقت پهنای باند)

    و...



    Mod_rewrite یک ماژول تحت apache می باشد که ما رو قادر میکنه بتونیم URL ها رو بصورت داینامیک تغییر بدیم . ادامه مطلب را بخوانید

    ۱ - روشن و آماده استفاده کردن mod_rewrite :

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

    RewriteEngine on

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

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

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

    کد:

    کد:

    RewriteRule Pattern Substitution [Flag(s)]


    3 - URL ها هم مکان هستند

    نتونستم عنوان بهتری برای این نکته پیدا کنم ولی معنیش اینه که اگر شما فایل htaccess حاوی کد های mod_rewrite را در root سرورتون قرار بدید آأرس هایی که تغییر می دهید همه در root هستند و اگر فایل htaccess رو در یک دایرکتوری دیگر قرار بدید آدرس ها فقط مربوط به اون دایرکتوری هستند و نمیشه با فایل htaccess درون یکی از ساب دایرکتوری ها آدرس های اصلی سایت رو تغییر داد و فقط می توان آدرس های مربوط به اون سابدایرکتوری رو میشه تغییر داد.

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

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

    کد:

    RewriteRule ^fileone.html$ filetwo.html


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

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

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

    کد:
    کد:

    RewriteCond %{REMOTE_ADDR} ^(A.B.C.D)$ RewriteRule ^/* فقط کاربران ثبت نام شده میتوانند لینک های انجمن را مشاهده کنند. ] [L]
    به جای A B C D اجزای چهارگانه IP مورد نظر رو وارد کنید و به جای

    فقط کاربران ثبت نام شده میتوانند لینک های انجمن را مشاهده کنند. ] آدرس مورد نظر که مثلا می تونه یک صفحه حاوی پیغام هشدار باشه رو وارد کنید

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

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

    فقط کاربران ثبت نام شده میتوانند لینک های انجمن را مشاهده کنند. ]

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

    کد:
    کد:

    RewriteCond %{QUERY_STRING} ^id=456&lid=789.* [NC] RewriteRule (.*) http://www.domain.com/$1? [R=301]
    با این کد نه تنها از دست query ه راحت میشید بلکه از دست اون علامت سوال هم را حت میشید .

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

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

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

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

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

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

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

    RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^فقط کاربران ثبت نام شده میتوانند لینک های انجمن را مشاهده کنند. ] .*$ [NC] RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]

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

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

    کد: 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]
    اگر از چند دامین برای آدرس دهی با سایتتان استفاده می کنید این امر ممکن است که هر دو دامین را به یک دامین دیگر روی سرور بفرستید

    فقط به جای فقط کاربران ثبت نام شده میتوانند لینک های انجمن را مشاهده کنند. ] و domain.net دو دامین خودتون رو بنویسید و به جای فقط کاربران ثبت نام شده میتوانند لینک های انجمن را مشاهده کنند. ] آدرس جدید رو بنویسید

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

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

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

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

    امیداورم از این مطلب استفاده کنید و بدردتون بخوره .

    وبگاه تاریخ ما : tarikhema.org


    کانال تلگرام تاریخ ما : t.me/tarikhema
    #1 ارسال شده در تاريخ 21st November 2013 در ساعت 13:42

  2. یک کاربر از این پست تشکر کرده است :


موضوعات مشابه

  1. پاسخ ها: 1
    آخرين نوشته: 23rd February 2014, 15:06

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

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