آموزش htaccess
خرید هاست
میزبانی وب

یکی از مواردی که دانستن آن در مدیریت سایت دارای اهمیت بسیاری است، دانش کار با htaccess می باشد. به دلیل اهمیت بالای این موضوع آموزش کامل htaccess را در اختیارتان قرار می‌دهیم. پس تا انتهای مطلب همراه ما باشید.

نکات مقدماتی آموزش htaccess

htaccess زبان ارتباطی سایت با وب سرور می باشد و یادگیری آن یک ضرورت غیرقابل انکار است. با استفاده از این فایل، شما می‌توانید برای سرور سایت خود قوانین تعیین کنید و تمام فایل‌ها و دایرکتوری‌ های سایت را کنترل کنید.برای بدست آوردن اطلاعات بیشتر درباره این فایل مقاله «htaccess چیست» منبع مناسبی می باشد.

htaccess  به طور پیش فرض و مخفیانه در فایل public_html در هاست قرار دارد.برای راهنمایی درباره خارج کردن این فایل از حالت مخفی مقاله «نمایش فایل مخفی در هاست» راهنمای شما خواهد بود

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

آموزش تنظیمات htaccess

آموزش htaccess برای افزایش امنیت

با افزودن کدهای مختلف به فایل htaccess. می توان کارهای متفاوتی انجام داد، بعضی از این اقدامات برای اهداف امنیتی هستند. در این بخش از مقاله آموزش htaccess چند نمونه از این اقدامات برای بهبود وضعیت امنیتی را می خوانید.

بلاک کردن دسترسی برخی IP ها به سایت

اگر بخواهید جلوی دسترسی یک IP مشخص یا یک رنج IP (محدوده ای از IP های مختلف) به سایت خود را بگیرید، یکی از روش های این کار، درج چند خط دستور ساده در فایل htaccess است.

برای اینکه جلوی دسترسی محدوده ای از IP ها را بگیرید کافی است دستوری مثل دستور زیر را وارد کنید:

order allow,deny
deny from 255.0.0.0
deny from 123.45.6.
allow from all

(محدوده IP ها را طبق نظر خود تعیین کنید، IPهای درج شده در این قسمت آزمایشی هستند)

دستور بالا به وب سرور آپاچی می گوید IP ها در محدوده تعیین شده را ممنوع الورود کند! اگر دقت کنید، در خط سوم، بخش چهارم IP (بعد از عدد ۶) نوشته نشده؛ این نشان می دهد که تمام IP  های این رنج باید بلاک شوند.

بلاک کردن همه IP ها به جز خودتان

گاهی اوقات برای انجام ویرایش هایی در سایت، لازم است دسترسی همه به جز مدیر سایت قطع شود. در این صورت، همه بازدیدکنندگان با خطای عدم دسترسی 403 مواجه خواهند شد و تنها مدیر سایت که IP آن در دستور درج می شود به سایت دسترسی دارید.

برای این کار دستور زیر را به فایل htaccess سایت خود اضافه کنید:

order allow,deny
allow from 255.0.0.0
deny from all

فراموش نکنید به جای 255.0.0.0 باید آدرس IP خود را بنویسید.

بلاک کردن همه IP ها به جز خودتان

بلاک کردن مرورگر آفلاین و ربات های مخرب

مرورگر آفلاین (Offline browser) نرم  افزاری است که تمام لینک های بخش های مشخصی از سایت را یکباره دانلود می کند، تا کاربر نیاز نداشته باشد برای مطالعه مطالب سایت شما، مجددا آنلاین شود. این برنامه به تنهایی مخرب نیست و هیچ آسیبی به سایت شما نمی رساند اما اگر بخواهد حجم بالایی از داده های سایت شما را دانلود کند، بخش زیادی از منابع وب سرور را اشغال می کند و پهنای باند زیادی هم مصرف خواهد کرد.

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

برای اینکه جلوی مرورگر آفلاین و ربات های مخرب را بگیرید، دستور زیر را به فایل .htaccess اضافه کنید.

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:[email protected] [OR]RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR]RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR]RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR]RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR]RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR]RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR]RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR]RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR]RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR]RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR]RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR]RewriteCond %{HTTP_USER_AGENT} ^HMView [OR]RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR]RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR]RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR]RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR]RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR]RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR]RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR]RewriteCond %{HTTP_USER_AGENT} ^larbin [OR]RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR]RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR]RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR]RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR]RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR]RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR]RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR]RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR]RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR]RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR]RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR]RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR]RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR]RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR]RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR]RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR]RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR]RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR]RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR]RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR]RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR]RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR]RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR]RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR]RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR]RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR]RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR]RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR]RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR]RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR]RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR]RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR]RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR]RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR]RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR]RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR]RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR]RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR]RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR]RewriteCond %{HTTP_USER_AGENT} ^Wget [OR]RewriteCond %{HTTP_USER_AGENT} ^Widow [OR]RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteRule ^.* – [F,L]

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

بلاک کردن مرورگر آفلاین و ربات های مخرب htaccess

غیرفعال کردن نمایش دایرکتوری سایت به کمک htaccess

استفاده از قابلیت غیر فعال کردن نمایش دایرکتوری می تواند بسیار کاربردی و مفید باشد به طور مثال فرض کنید در مسیری از هاست خود فایل هایی ذخیره کرده‌اید که دوست ندارید برای دیگران نمایش داده شود یا دایرکتوری تصاویر سایت شما برای دیگران لیست شود برای جلوگیری از انجام این کار، کافی است دستور زیر را به فایل htaccess خود اضافه کنید.با اضافه کردن این دستور تمامی فایل هایی که در مسیر دایرکتوری htaccess  قرار دارند نمایش داده نمی‌شوند.

IndexIgnore 

نکته مهم: هر فایل htaccess در مسیر اصلی و مسیرهای زیرمجموعه‌اش اجرا می شود، پس اگر بخواهید دستوراتی مثل عدم نمایش یک دایرکتوری خاص را اجرا کنید، می‌توانید در مسیر موردنظر فایل htaccess را  ایجاد نمائید. وجود چندین فایل htaccess در هاست مشکلی ایجاد نخواهد کرد، تنها کافیست دستورات هرکدام از این فایل ها در دایرکتوری زیرمجموعه اعمال شود؛ به طور مثال اگر فایل htaccess در دایرکتوری publich_html قرار گرفته باشد، دستور عدم نمایش دایرکتوری به دلیل اهمیت publich_html موجب بسته شدن کل دایرکتوری ها خواهد شد.

غیرفعال کردن نمایش دایرکتوری سایت به کمک htaccess

عدم نمایش فایل های خاص در یک دایرکتوری

اگر بخواهید از نمایش فرمت خاصی از فایل ها جلوگیری کنید (مثلاً فقط فایل های zip یا jpeg یا هر چیز دیگری)، باید دستور زیر را وارد کنید:

IndexIgnore *.zip

.zip بیانگر فرمت فایلی است که نباید نمایش داده شود.

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

IndexIgnore *.zip *.jpg *.gif

آموزش دستور نمایش دایرکتوری در htaccess

در بعضی سرورها، تنظیمات به نحوی انجام شده است که هیچ کدام از دایرکتوری ها لیست نمی شوند. اگر در این موارد بخواهید یک دایرکتوری امکان لیست شدن توسط کاربران و نمایش را داشته باشد، باید دستور زیر را در فایل htaccess وارد کرده و فایل را در دایرکتوری مورد نظر قرار دهید:

Options +Indexes

آموزش دستور نمایش دایرکتوری در htaccess

جلوگیری از دسترسی به فایل های php includes

اگر در مسیری از هاست خود فایل های php includes دارید و نمی خواهید بازدیدکنندگان مستقیماً از طریق مرورگر به آن ها دسترسی داشته باشند، با ثبت این دستور در یک فایل htaccess و قراردادن آن در دایرکتوری مورد نظر، می توانید این کار را انجام دهید:

## Enable Mod Rewrite, this is only required once in each .htaccess file
RewriteEngine On
RewriteBase /
## Test for access to includes directory
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /includes/ .*$ [NC]## Test that file requested has php extension
RewriteCond %{REQUEST_FILENAME} ^.+\.php$
## Forbid Access
RewriteRule .* – [F,NS,L]

جلوگیری از دسترسی به php.ini و php.cgi

برای جلوگیری از دسترسی افراد متفرقه به این فایل ها کافی است دستور زیر را در یک فایل htaccess  ثبت کنید:

## Enable Mod Rewrite, this is only required once in each .htaccess file
RewriteEngine On
RewriteBase /
## Test for access to includes directory
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /includes/ .*$ [NC]## Test that file requested has php extension
RewriteCond %{REQUEST_FILENAME} ^.+\.php$
## Forbid Access
RewriteRule .* – [F,NS,L]

جلوگیری از دسترسی به php.ini و php.cgi

جلوگیری از ارسال درخواست به سرور با کاراکترهای غیرمجاز

وقتی درخواستی به سرور ارسال می شود که شامل کاراکترهای غیر مجازی مثل علامت های خاص (^&*$) است، ممکن است هدف ارسال کننده درخواست حمله به سایت یا اجرای یک دستور غیرمجاز باشد. برای اینکه از ارسال چنین درخواست هایی به سرور جلوگیری کنید، باید دستور زیر را وارد یک فایل .htaccess کنید:

RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} !^[A-Z]{3,9}\ [a-zA-Z0-9\.\+_/\-\?\=\&]+\ HTTP/ [NC]RewriteRule .* – [F,NS,L]

آموزش ریدایرکت با htaccess

ریدایرکت (Redirect) به معنای انتقال بازدیدکننده از یک صفحه به صفحه ای دیگر می باشد. این کار به دلایل مختلفی انجام می شود از جمله مهم ترین آن می توان به زمانی اشاره کرد که می خواهیم کاربر را از صفحه قدیمی به صفحه ای جدید منتقل کنیم. توضیحات کامل را می توانید در مقاله «ریدایرکت در وردپرس» مطالعه نمائید.

یکی از روش های این کار ریدایرکت با htaccess است. برای انجام آن باید مثل مراحل قبل یک فایل htaccess بسازید و دستور زیر را در آن وارد کنید:

Redirect /old_dir/ http://www.yourdomain.com/new_dir/index.html

در دستور بالا، به جای old_dir آدرس دایرکتوری قدیمی خود (مبدأ) را بگذارید و به جای عبارت new_dir، آدرس دایرکتوری جدید (مقصد) را. در نوشتن آدرس مبدأ نیازی نیست نام دامنه را بنویسید، اینطور فرض کنید که علامت / به جای نام دامنه شماست.

مثلاً

Redirect /Amoozeshe_htaccess/ http://www.yourdomain.com/Amoozeshe_htaccess_jadid.html

آموزش ریدایرکت با htaccess

ضمیمه: آموزش ویرایش فایل در هاست و اضافه کردن کد

 این بخش به عنوان ضمیمه به مقاله آموزش htaccess اضافه شد تا در صورت نیاز به راهنمایی در خصوص نحوه تغییر فایل ها در هاست، دسترسی آسانتری برای مطالعه داشته باشید.

نکته: ما برای آموزش تغییر و ویرایش فایل ها در هاست، با کنترل پنل cPanel آموزش می دهیم اما این موضوع در دایرکت ادمین، plesk و… تفاوت چندانی ندارد.

آموزش ویرایش فایل در cPanel

برای این کار ابتدا وارد کنترل پنل هاست خود می شویم و از آنجا وارد بخش file manager می شویم

آموزش ویرایش فایل در cPanel

وارد مسیری می شویم که فایل ما در آنجا قرار دارد و می خواهیم تغییرش دهیم. در اینجا ما فایل .htaccess را انتخاب کرده ایم که متناسب با آموزشمان باشد. روی آن راست کلیک کرده و گزینه Edit را انتخاب می کنیم.

آموزش ویرایش فایل در هاست ۲

می توانید با چپ کلیک آن را Select کنید و از منوی بالا گزینه Edit را بزنید.

edit فایل در هاست

فایل در ویرایشگر کنترل پنل باز می شود و آماده است که هر دستوری را در آن وارد کنید یا کدها را تغییر دهید. برای ذخیره تغییرات حتماً باید دکمه Save را بزنید.

ویرایش فایل در هاست آموزش

خلاصه و نتیجه گیری

در این مقاله به آموزش کامل htaccess پرداختیم و توضیح دادیم چطور با استفاده از ثبت دستوراتی در این فایل، می توانید به وب سرور خود دستور دهید اقداماتی برای شما انجام دهد. البته آموزش htaccess محدود به این ها نیست اما پراستفاده ترین دستورات این دستوراتی بود که آموزش دادیم.

اگر این آموزش برایتان مفید بود یا سوالی داشتید، حتماً در بخش نظرات با ما در میان بگذارید.

خرید سرور اختصاصی

اشتراک گذاری

برچسب‌ها

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Fill out this field
Fill out this field
لطفاً یک نشانی ایمیل معتبر بنویسید.
You need to agree with the terms to proceed

خرید سرور مجازی

🔥 پربازدیدترین مطالب

دسته‌بندی

جدید‌ترین‌ها