فایل .htaccess یک فایل پیکربندی قدرتمند برای وب‌سرور Apache است که امکان تغییر تنظیمات سرور در سطح دایرکتوری را می‌دهد. با آن می‌توانید ریدایرکت URL، محافظت با رمز، بهینه‌سازی سرعت و افزایش امنیت را انجام دهید.

فایل .htaccess چیست؟

فایل .htaccess (مخفف Hypertext Access) یک فایل پیکربندی برای وب‌سرور Apache است که به کاربران اجازه می‌دهد بدون دسترسی به فایل اصلی پیکربندی سرور (httpd.conf)، تنظیمات را در سطح دایرکتوری تغییر دهند.

نحوه ایجاد فایل .htaccess

برای ایجاد فایل .htaccess این مراحل را دنبال کنید:

  1. یک فایل متنی جدید ایجاد کنید
  2. نام آن را .htaccess بگذارید (با نقطه در ابتدا)
  3. کدهای مورد نظر را اضافه کنید
  4. فایل را در دایرکتوری ریشه سایت (public_html) آپلود کنید

کد زیر، کد اصلی هستش که همیشه تو هاستتون باید باشه و مطمئن باشید که خراب نمیشه.

🐘PHP
PHP کد
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

 

 فعال‌سازی فشرده‌سازی GZIP

🐘PHP
PHP کد
# Enable GZIP Compression
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/json
</IfModule>

 

 تنظیم کش مرورگر (Browser Caching)

🐘PHP
PHP کد
# Browser Caching
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/webp "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
</IfModule>

محدود کردن دسترسی به IP خاص

🐘PHP
PHP کد
# Allow only specific IP
Order deny,allow
Deny from all
Allow from 192.168.1.100
 
# Block specific IP
Order allow,deny
Allow from all
Deny from 123.456.789.0

 

افزایش امنیت

🐘PHP
PHP کد
 
# Security Headers
Header set X-XSS-Protection "1; mode=block"
Header set X-Content-Type-Options "nosniff"
Header set X-Frame-Options "SAMEORIGIN"
Header set Referrer-Policy "strict-origin-when-cross-origin"
 
# Hide .htaccess file
<Files .htaccess>
Order allow,deny
Deny from all
</Files>
# Hide wp-config.php (WordPress)
<Files wp-config.php>
Order allow,deny
Deny from all
</Files>
 

 هشدار عملکرد: استفاده از .htaccess به جای پیکربندی اصلی سرور سرعت را کاهش می‌دهد. Apache باید برای هر درخواست فایل .htaccess را در تمام دایرکتوری‌های والد جستجو کند. اگر به پیکربندی اصلی سرور دسترسی دارید، تنظیمات را در httpd.conf قرار دهید.