آموزش کامل کار با Htaccess

| دسته بندی: آموزش میزبانی وب |
آموزش کامل کار با Htaccess

در این مطلب از سری مطالب آموزش میزبانی وب در آذرآنلاین با آموزش کامل کار با Htaccess که یکی از مهمترین نکاتی است که نیاز هر فرد دارای وب است ، در خدمت شما خواهیم بود.

همانطور که می‌دانید فایل Htaccess یک فایل مخفی در دایرکتوری اصلی وب (Public_html) است که برخی از تنظیمات کلی وب سرور و نوع رفتار وب سرور با سایت شما را مشخص می‌کند. Htaccess یک فایل متنی بدون پسوند است که قابلیت آن را دارد تا در هر دایرکتوری از وب قرار گیرد و رفتار هر دایرکتوری به جداگانه با وب سرور تنظیم نماید.

در این مطلب ما قصد داریم به توضیح کلی دستورات و مواردی که در Htaccess قابل استفاده هستند پرداخته تا با آنها آشنا شده و در پایان بتوانید این فایل را به صورت کاملاً حرفه‌ای و سفارشی برای وب سایت خود تهیه و تنظیم نمایید.

دقت داشته باشید ممکن است در هاست‌های اشتراکی توسط سرویس دهنده برخی تنظیمات در فایل‌های پیکربندی PHP انجام شده باشد و یا عدم وجود برخی از ماژول‌ها در سرور ، کدها به درستی کار نکنند و سایت را از دسترس خارج سازند. بنابراین بهترین راه حل این است که کدها را به صورت تک به تک در فایل Htaccess قرار داده و پس از اطمینان از عملکرد سایت و کد درج شده ، سایر کدها را به دلخواه وارد نمایید.

در ادامه با آموزش کامل کار با Htaccess همراه ما باشید.

آموزش کامل کار با Htaccess

­فایل Htaccess قابلیت‌های فراوانی برای کنترل ، رفتار با وب سرور و دسترسی وب سایت و کلاینت‌های به بخش‌های مختلف دارد که در ادامه به توضیح بخش به بخش آنها خواهیم پرداخت.

محدودیت دسترسی با ip های خاص در htaccess

گاهاً سایت‌ها با بازدیدهای غیرواقعی و درخواست‌های زیادی از سوی یک آدرس IP مواجه می‌شوند که در مجموع باعث کاهش لود سایت و همچنین دریافت اسپم می‌شوند برای این امر شما می‌توانید آدرس IP مورد نظر را از طریق فایل Htaccess محدود نمایید.

deny from 1.2.3.4
allow from all

نکته : دقت داشته باشید باید به جای 1.2.3.4 آدرس IP مورد نظر خود را وارد نمایید.

جلوگیری از سرقت فایلهای و فولدرهای درون هاست

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

Options All -Indexes

تغییر عنوان و فرمت فایل اصلی index

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

DirectoryIndex file.php file.htm

افزایش امنیت فایل در htaccess

برای عدم دسترسی بازدیدکنندگان و سودجویان به برخی از فایل‌های مهم سایت خود مانند فایل‌های تنظیمات و پیکربندی ، می‌توانید از کد زیر در htaccess استفاده نمایید.

<files azar.php>
order allow,deny
deny from all

شما می‌توانید نام فایل مورد نظر خود را به جای azar.php وارد نمایید.

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

همانطور که می‌دانید کش شدن برخی اطلاعات استاتیک شما بر روی مرورگر بازدیدکنندگان باعث می‌گردد که بار اضافی از روی منابع سرور مانند CPU ، RAM و ... کاهش می‌یابد و سرعت سایت و سرور شما افزایش یابد.

برای این امر می‌توان کد زیر را در انتهای فایل htaccess وارد نمایید.

# Enables browser caching

ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"

اضافه کردن mime-type از طریق htaccess

برخی اوقات دیده شده در سایت‌هایی بر روی فایلی کلیک کرده و سرور از شما سؤال می‌پرسد که فایل را باز کند و یا دانلود نماید. در این شرایط شما می‌توانید کدهای زیر را وارد کرده تا هر جا این پسوندها مشاهده شد ، فایل را بدون پرسش برای دانلود به بازدیدکننده ارسال نماید.

AddType application/octet-stream .pdf
AddType application/octet-stream .zip
AddType application/octet-stream .mov

مخفی کردن لیست دایرکتوری‌ها

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

Options –Indexes

محدود کردن نوع فایلهای قابل اجرا و نمایش

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

Options +FollowSymlinks
RewriteEngine On
rewritecond %{REQUEST_FILENAME} !^(.+).css$
rewritecond %{REQUEST_FILENAME} !^(.+).js$
rewritecond %{REQUEST_FILENAME} !file.php$
RewriteRule ^(.+)$ /deny/ [nc]

محدودیت در سایز آپلود فایل

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

php_value upload_max_filesize 20M

نکته : در کد بالا میزان حجم آپلود بر روی 20 مگابایت تنظیم شده است و شما می‌توانید آن را به میزان مورد نظر خود تغییر دهید.

تنظیم محدودیت حافظه memory_limit

میزان محدودیت حافظه اجرایی PHP یکی از نکات بسیار مهم است که به شما برای کنترل میزان مصرف منابع سرور کمک می‌کند ، بنابراین شما قادر خواهید بود از طریق کد این میزان را تنظیم نمایید.

php_value memory_limit 128M

ایجاد محدودیت در حجم پست ارسالی

از طریق کد زیر می‌توان حداکثر حجم هر پست را 3 مگابایت مشخص نمود.

php_value post_max_size 3M

تغییر صفحه پیش فرض

با استفاده از کد زیر در فایل Htaccess شما می‌توانید مشخص کنید که در ابتدای لود سایت شما کدام فایل‌ها لود شود و اولویت با کدام فایل است.

#Alternate default index pages
DirectoryIndex first.html index.htm index.html index.php

ایجاد صفحات پیش فرض خطا

تنظیم صفحات خطای پیش فرض به این معناست که اگر در هنگام کار با سایت شما خطایی مانند 404 یا ... رخ دهد ، سرور چه صفحه‌ای را نمایش دهد. برای این شما می‌توانید صفحات مورد نظر برای این خطاها طراحی کرده و آنها را در دایرکتوری مورد نظر قرار دهید و از طریق کدهای زیر آنها را در هنگام رخ دادن خطا فراخوانی کنید.

ErrorDocument 401 /error_pages/401.html
ErrorDocument 404 /error_pages/404.html
ErrorDocument 500 /error_pages/500.html

نحوه جلوگیری از عمل Hotlink در فایل  htaccess

قابلیت Hotlink Protection که در کنترل پنل سیپنل نیز وجود دارد این امکان را به یک سایت می‌دهد تا از استفاده فایل‌ها و تصاویر در سایت‌های دیگر جلوگیری شود.

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

با استفاده از Htaccess شما می‌توانید مانع این سوءاستفاده شوید. اما باید در نظر داشته باشید که سرور شما باید قابلیت Mod_rewrite را به صورت فعال داشته باشد تا این کد به صورت صحیح عمل نماید.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com/.*$ [NC]
RewriteRule \.(gif|jpg|css)$ - [F]

نکته : در کد بالا پسوندهای gif ، jpg و CSS در حالت محافظت قرار گرفته و شما می‌توانید پسوند‌های مورد نظر خود را در آنها اضافه کنید و یا جایگزین نمایید و همچنین نام دامنه خود را به جای عبارت yourdomain.com نیز وارد کنید.

مسدود کردن حملات XSS

حملات XSS یکی از معروفترین و محبوبترین حملات در بین حملات بر روی وبسایت‌ها است که با تزریق کد در فایل‌های مختلف صورت می‌گیرد. برای جلوگیری از این نوع حمله بر روی سایت خود می‌توانید از کد زیر در فایل Htaccess استفاده کرده تا سد محمکی برای حملات XSS ایجاد نمایید.

# Blocks some XSS attacks

<IfModule mod_rewrite.c>
RewriteCond %{QUERY_STRING} (\|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F,L]
</IfModule>

حفاظت از htaccess

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

<files ".htaccess">
order allow,deny
deny from all
</files> 

به این ترتیب شما می‌توانید فایل Htaccess خود را نسبت به سایت پیکربندی نمایید.

همچنین شما می‌توانید با مراجعه به آموزش ریدایرکت توسط Htaccess از نحوه ریدایرکت صفحات توسط این فایل مطلع شوید.

در پایان قصد داریم به معرفی یک سایت برای ساخت Htaccess بپردازیم تا در صورت نیاز از آن برای پیکربندی فایل htaccess سایت خود بپردازید.

سایت htaccesseditor.com یکی از معتبرترین سایت‌های برای ساخت Htaccess است که با ورود به آن و تنظیم تمامی موارد ذکر شده به صورت گرافیکی ، در پایان یک فایل Htaccess در اختیار شما قرار خواهد داد و شما باید کدهای آن را در فایل Htaccess خود کپی نمایید.

امیدواریم در پایان از آموزش کامل کار با Htaccess استفاده لازم را برده باشید.

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