
فایل .htaccess (مخفف Hypertext Access) یک فایل پیکربندی قدرتمند برای سرورهای وب آپاچی است که به شما این امکان را میدهد تا تنظیمات خاصی را در دایرکتوریهای سایت خود اعمال کنید. این فایل بدون نیاز به دسترسی به فایلهای اصلی سرور، رفتار سرور را کنترل میکند، امنیت را افزایش میدهد و تجربه کاربری را بهبود میبخشد. در این مقاله، با چیستی htaccess، کاربردها و نحوه استفاده از فایل .htaccess آشنا میشویم.
هشدار: قبل از انجام هرگونه ویرایش فایل .htaccess، حتماً نسخه پشتیبان از آن تهیه کنید. اشتباه در این فایل ممکن است سایت را از دسترس خارج کند.
فایل htaccess چیست؟
فایل .htaccess یک فایل متنی است که دستورات خاصی را به سرور آپاچی ارائه میدهد. این دستورات رفتار سرور را در یک دایرکتوری خاص یا زیرپوشههای آن تغییر میدهند. این فایل معمولاً در دایرکتوری ریشه (مانند public_html) قرار دارد و تغییرات آن بدون نیاز به ریاستارت سرور اعمال میشود. کاربردهای اصلی آن شامل:
- محافظت از سایت با رمز عبور
- ایجاد صفحات خطای سفارشی
- هدایت کاربران به صفحات دیگر
- مدیریت دسترسیها و امنیت
- بهینهسازی سرعت سایت
کاربردهای فایل htaccess
فایل .htaccess ابزار چندمنظورهای است که در جنبههای مختلف مدیریت سایت کاربرد دارد. در ادامه، مهمترین کاربردهای آن را بررسی میکنیم:
۱. تغییر صفحه پیشفرض (Index)
سرور به طور پیشفرض فایلهایی مانند index.html یا index.php را به عنوان صفحه اصلی بارگذاری میکند. با .htaccess میتوانید این صفحه را تغییر دهید یا چندین فایل را به ترتیب اولویت مشخص کنید.
مراحل انجام:
-
- وارد File Manager در پنل هاست شوید.
- گزینه Show Hidden Files را فعال کنید.

-
- فایل
.htaccessرا پیدا کرده و با گزینه Edit باز کنید.
- فایل
- کد زیر را برای تنظیم صفحه پیشفرض اضافه کنید:
# تنظیم صفحه پیشفرض DirectoryIndex first.html index.htm index.html index.php
این کد به سرور دستور میدهد ابتدا first.html را بررسی کند و اگر موجود نبود، به سراغ فایلهای بعدی برود.
۲. ایجاد صفحات خطای سفارشی
صفحات خطا مانند 404 یا 403 به طور پیشفرض ساده هستند. با .htaccess میتوانید صفحات خطای سفارشی طراحی کنید که با برند شما هماهنگ باشند.
مراحل انجام:
- یک صفحه خطا (مانند
404.html) در پوشهای مانند/errorsایجاد کنید. - کد زیر را به فایل
.htaccessاضافه کنید:
ErrorDocument 404 /errors/404.html ErrorDocument 403 /errors/403.html
نکات طراحی:
- طراحی منسجم: صفحه خطا را با ظاهر سایت هماهنگ کنید.
- محتوای مفید: لینک به صفحات اصلی یا نوار جستجو اضافه کنید.
- ناوبری آسان: منوی اصلی را در دسترس نگه دارید.
- اطلاعات تماس: راه ارتباطی برای کاربران فراهم کنید.
۳. ریدایرکت (هدایت کاربران)
ریدایرکتها برای هدایت کاربران از URL قدیمی به جدید یا از HTTP به HTTPS استفاده میشوند و به حفظ سئو کمک میکنند.
ریدایرکت 301:
Redirect 301 /olddirectory/oldfile.html http://example.com/newdirectory/newfile.html
ریدایرکت به HTTPS:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
۴. محافظت از دایرکتوری با رمز عبور
برای محدود کردن دسترسی به بخشهای حساس (مانند پنل مدیریت)، میتوانید از احراز هویت استفاده کنید.
مراحل انجام:
- فایل
.htpasswdرا با ابزارهایی مانندhtpasswdایجاد کنید. - فایل را در مسیری امن ذخیره کنید.
- کد زیر را به
.htaccessاضافه کنید:
AuthType Basic AuthName "Restricted Area" AuthUserFile /path/to/your/.htpasswd Require valid-user
۵. مدیریت دسترسی با IP
میتوانید دسترسی به سایت را بر اساس آدرس IP محدود کنید.
مسدود کردن یک IP:
Require all granted Require not ip 192.0.2.0
اجازه به IP خاص:
Require all denied Require ip 192.0.2.0
۶. مخفی کردن لیست دایرکتوری
برای جلوگیری از نمایش لیست فایلهای دایرکتوری:
Options -Indexes
برای فعال کردن نمایش لیست (در صورت نیاز):
Options +Indexes IndexOptions +FancyIndexing
۷. افزایش سرعت با کش مرورگر
برای بهبود سرعت سایت، فایلها را در مرورگر کاربران کش کنید:
<IfModule mod_expires.c> 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" </IfModule>
۸. مقابله با حملات XSS
برای محافظت در برابر حملات XSS:
<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>
۹. هدایت در جوملا
در جوملا، از Redirect Manager برای مدیریت ریدایرکتها استفاده کنید:
-
- به System -> Global Configuration بروید و Use URL Rewriting را فعال کنید.
- به Components -> Redirects بروید و ریدایرکتها را تنظیم کنید.
حتما بخوانید: آموزش کامل فایل htaccess
نحوه کار فایل htaccess
فایل .htaccess به صورت پویا توسط سرور آپاچی پردازش میشود:
- محل قرارگیری: در دایرکتوری موردنظر قرار میگیرد.
- پردازش: سرور فایل را در دایرکتوری درخواستی و والدین آن بررسی میکند.
- اعمال قوانین: قوانین از دایرکتوریهای بالاتر به پایینتر اعمال میشوند.
- تغییرات فوری: بدون نیاز به ریاستارت سرور اعمال میشوند.
جمعبندی
فایل .htaccess ابزاری کلیدی برای مدیریت وبسایتهای آپاچی است. از ریدایرکت و محافظت با رمز عبور گرفته تا بهینهسازی سرعت و امنیت، این فایل امکانات گستردهای ارائه میدهد. با رعایت نکات ایمنی و تست تغییرات، میتوانید سایت خود را بهینه کنید و تجربه کاربری بهتری ارائه دهید.


