فایل htaccess چیست و چه کاربردهایی دارد؟

فایل htaccess چیست

در وردپرس فایل‌های مختلفی داریم که هر کدام وظیفه خاصی را دنبال می‌کنند. اما سوالی که در این مقاله مطرح می‌شود این است که فایل htaccess چیست؟ htaccess یک فایل پیکربندی شده ویژه است که می‌تواند نحوه اجرای وبسایت شما توسط سرور شما را کنترل کند. به عنوان یکی از قدرتمندترین فایل‌های پیکربندی شده، htaccess می‌تواند امکان تغییر مسیر 301، اتصالات SSL، حفاظت از رمز عبور، زبان پیش‌فرض و موارد دیگر را در سایت وردپرس شما کنترل کند. حال اگر موافق باشید با سایر موارد درباره این فایل حیاتی آشنا شویم.

 

فایل htaccess کجاست و چگونه آن را بسازیم؟

htaccess یک فایل پیکربندی در سطح دایرکتوری است که توسط وب سرور آپاچی پشتیبانی می‌شود. برای تغییر پیکربندی وب سرور (فعال یا غیرفعال کردن ویژگی‌های اضافی) برای حساب خاص بدون تغییر تنظیمات سرور جهانی استفاده می‌شود. فایل htaccess در کل دایرکتوری که در آن قرار گرفته است، شامل همه فایل‌ها و زیر شاخه‌ها، اثر می‌گذارد. تغییرات ایجاد شده در این فایل بلافاصله اعمال می‌شود و نیازی به راه اندازی مجدد سرور نیست. برای دسترسی به فایل اصلی htaccess در هاست خود، مراحل زیر را دنبال کنید:

  • وارد سی پنل خود شوید.
  • به بخش Files >> File Manager بروید:

فایل htaccess چیست

 

اگر می‌خواهید فایل htaccess را برای دامنه اصلی خود ویرایش کنید، به پوشه public_html بروید. اگر نیاز به ایجاد تغییراتی در دامنه افزونه دارید، به پوشه public_html/youraddondomain.com بروید. پس از آن، مطمئن شوید که گزینه Show Hidden files (dotfiles) در منوی تنظیمات فعال باشد:

 

نمایش تمامی فایل های مخفی

 

فایل htaccess را پیدا کنید، کلیک راست کنید >> Edit:

 

ادیت کردن htaccess

 

اگر هیچ فایل htaccess. وجود ندارد، با خیال راحت یک فایل جدید با استفاده از گزینه File ایجاد کنید:

 

ایجاد فایل جدید

 

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

  • مجوز/ احراز هویت – محدودیت‌های امنیتی را برای دایرکتوری/دایرکتوری فرعی مشخص می‌کند.
  • شما می‌توانید از یک دایرکتوری یا چندین مورد از آنها با رمز عبور محافظت کنید و هر زمان که بازدیدکننده سعی می‌کند به آن دسترسی پیدا کند، نام کاربری و رمز عبور مورد نیاز است. برای تنظیم چنین امنیتی، باید:
    • دایرکتوری را که می‌خواهید از آن محافظت کنید در پوشه /home/cpanel_user/.htpasswds/ ایجاد کنید (به عنوان مثال، برای public_html/test مسیر .htpasswds/public_html/test/ خواهد بود).
    • یک فایل passwd در این دایرکتوری ایجاد کنید و جزئیات دسترسی هش شده را با استفاده از این مولد آنلاین اضافه کنید.
    • دستورات زیر را به htaccess اضافه کنید:
AuthType Basic
AuthName "Directory Name"
AuthUserFile "/home/cpanel_user/.htpasswds/public_html/test/passwd"
require valid-user

 

کاربردهای htaccess چیست؟

حال که فهمیدیم فایل htaccess چیست دیگر می‌دانیم که این فایل در سایت نقش مهمی ایفا کرده و قطعا دارای کاربردهای متعددی است که در ادامه به شرح هر کدام می‌پردازیم.

  • ریدارکت کردن
  • تغییر صفحه پیشفرض سایت
  • حفظ امنیت فایل‌ها
  • سفارشی سازی کردن صفحات 404
  • مقابله با حملات xss
  • امکان ذخیره‌سازی فایل پنهان
  • مسدود کردن برخی از آی پی ها
  • محافظت از دایرکتوری
  • مخفی سازی لیست دایرکتوری

در ادامه درمورد هر کاربرد توضیحاتی را ارائه می‌دهیم:

 

ریدایرکت کردن به کمک htaccess

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

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

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

شما می‌توانید صفحه پیش‌فرضی که در سایت در هر بخشی ظاهر می‌شود را به صفحه دلخواه خود تغییر دهید. مثلا فرض کنید پس از خرید و انجام پرداخت صفحه موردنظری که به کاربر نشان داده می‌شود صفحه تماس با ما باشد. این کار با کمک فایل htaccess امکانپذیر است:

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

محافظت و حفظ امنیت فایل ها

فایل htaccess از فایل‌های مهم مانند قالب و سایر فایل‌هایی که امکان به سرقت رفتن توسط هکرها را دارند، محافظت می‌کند. فقط کافیست کد زیر را در آن تعریف کنید:

Options All -Indexes

سفارشی کردن صفحات خطا

صفحات خطا بطور پیش‌فرض ساختار ساده‌ای دارند اما شما می‌توانید آن‌ها را به طرح دلخواه خود سفارشی کنید تا برای مخاطب جذاب‌تر باشند. مثلا برای خطای رایج 404 می‌توان از کد زیر در فایل htaccess استفاده کرد:

# serve custom error pages
ErrorDocument 404 /errors/404.html

مقابله با حملات XSS

برای مقابله با این حملات کافیست کد زیر را در فایل htaccess قرار دهید:

# 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 مدیریت کرد:

# Enables browser caching
<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>

مسدود کردن کاربران

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

  • برای اجازه دسترسی به دیگران و مسدود کردن کاربران با آدرس IP X.X.X.X:
<RequireAll>
Require all granted
Require not ip X.X.X.X
</RequireAll>

 

  • برای مسدود کردن تمام بازدیدکنندگان به جز IP های خاص X.X.X.X و Y.Y.Y.Y:
<RequireAll>
Require all denied
Require ip X.X.X.X
Require ip Y.Y.Y.Y
</RequireAll>

 

  چگونه پست ها با بیشترین دیدگاه در وردپرس را  نمایش دهیم؟

محافظت از دایرکتوری یا Password Protection

یکی دیگر از راه‌های امنیتی برای فایل‌های سایت، قرار دادن رمز روی آن‌هاست. برای این منظور نیز می‌توانید کد زیر را در htaccess وارد کنید:

AuthName "Section Name"
AuthType Basic
AuthUserFile /home/username/.htpasswds
Require valid-user

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

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

Options –Indexes

نتیجه گیری

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

سوالات متداول

فایل htaccess در داخل روت سایت یا همان public_html قرار دارد. که در اکثر اوقات بصورت hidden هست و باید گزینه نمایش فایل های مخفی برای مشاهده و ادیت آن در پوشه public_html فعال باشد.
این فایل برای وبسایت های وردپرسی کاربردهای گوناگونی مانند: ریدایرکت صفحه - مسدود کردن آی پی کاربر - حفاظت از فایل های دایرکتوری و... را بر عهده دارد.
آیا این مقاله برای شما مفید بود؟
تقریبا
خیر

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

ارسال دیدگاه به معنی این است که شما ابتدا قوانین ارسال دیدگاه را مطالعه کرده‌اید و با آن موافق هستید.