فایل htaccess وردپرس چیست؟
اگر بخوام خیلی ساده بگم:
htaccess مغز کنترل رفتار سایت روی سرور Apache هست.
هر درخواستی که به سایتت میاد، قبل از اینکه وردپرس اجرا بشه، اول از این فایل رد میشه.
یعنی:
لینکها چطور نمایش داده بشن
چه چیزهایی بلاک بشن
سرعت سایت چطور بهینه بشه
همه اینا از اینجا کنترل میشه.
چرا htaccess برای سئو و سرعت سایت حیاتیه؟
اگر htaccess درست تنظیم نشده باشه:
لینکها 404 میشن
صفحات دیر لود میشن
ریدایرکتها اشتباه میشن
حتی ممکنه گوگل بعضی صفحات رو ایندکس نکنه
تجربه واقعی:
روی یه سایت ووکامرسی، فقط با اضافه کردن کش و gzip داخل htaccess، زمان لود از 4.2 ثانیه رسید به 3.5 ثانیه
(بدون تغییر هاست!)

کد پیشفرض htaccess وردپرس
کد استاندارد
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
این کد دقیقاً چه کار میکند؟
بدون پیچیدگی:
اگر فایل واقعی وجود داشت → همونو لود کن
اگر نبود → بده به وردپرس (index.php)
همین باعث میشه لینکهای سئو فرندلی کار کنن
تنظیمات حرفهای htaccess برای افزایش سرعت سایت
فعال کردن کش مرورگر
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
</IfModule>
باعث میشه فایلها دوباره دانلود نشن → سرعت بیشتر
فعال کردن فشردهسازی Gzip
AddOutputFilterByType DEFLATE text/html text/css text/javascript
تجربه واقعی:
روی یه پروژه المنتوری، حجم صفحه با فعال کردنش کمتر شد.
افزایش امنیت سایت با htaccess
جلوگیری از دسترسی به wp-config
<Files wp-config.php>
order allow,deny
deny from all
</Files>
بستن دسترسی به پوشههای حساس
Options -Indexes
اگر کسی لینک پوشه رو بزنه، لیست فایلها نمایش داده نمیشه همین باعث ارتقا و افزایش امنیت وبسایت هم میشه.
ریدایرکت اصولی (خیلی مهم برای سئو)
ریدایرکت http به https
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
این کار مستقیم روی سئو تاثیر داره.

حل مشکل لود نشدن سایت با htaccess
این یکیو جدی بگیر اگر کدهای این فایل مشکل داشته باشه ممکنه سایت کلا بالا نیاد یا خطای ۵۰۰ بده و کل سایت بره روی هوا؛ اگر اینجوری شد صبور باش و مطابق راه حل زیر عمل کن.
راهحل سریع
اگر سایت از دسترس خارج شد
برو File Manager
htaccess رو rename کن
وردپرس خودش یکی جدید میسازه یا میتونی اون کد استاندارد فایل htaccess وردپرس رو کپی کنی و تو فایل htaccess وردپرس خودت پیستش کنی.
90٪ مواقع سایت برمیگرده و مشکل فایل htaccess وردپرس حل میشه.

اشتباهات رایج htaccess وردپرس که خیلیها مرتکب میشن
چندبار RewriteEngine On
باعث تداخل و کندی میشه
استفاده از کدهای آماده بدون فهم
خیلیها کد کپی میکنن → سایت میخوابه یا وبسایت از دسترس خارج میشه. اگر اینجوری شد از کد فایل htaccess پیشفرض استفاده کنید و جایگزینش کنید. مشکل حل میشه.
تداخل با افزونهها
اگر از اینا استفاده میکنی:
کش (LiteSpeed / WP Rocket)
امنیت (All In One Security)
المنتور
ممکنه خودشون htaccess رو تغییر بدن؛ اگر htaccess رو تغییر دادی و دیدی هر چی تغییر میدی باز خودش خود به خود تغییر میکنه بدون زیر سر این افزونه هاست.
htaccess یا httpd.conf؟ کدوم بهتره؟
واقعیت فنی:
httpd.conf سریعتره (سطح سرور)
htaccess کندتره ولی در دسترستره
اگر هاست اشتراکی داری → فقط htaccess
نسخه پیشنهادی htaccess وردپرس (بهینه برای وردپرس + ووکامرس)
این یه نسخه امن و کاربردیه:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
# Gzip
AddOutputFilterByType DEFLATE text/html text/css text/javascript
# Cache
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css "access plus 1 month"
ExpiresByType image/jpg "access plus 1 year"
</IfModule>
# Security
Options -Indexes
<Files wp-config.php>
deny from all
</Files>
جمعبندی
اگر بخوام خلاصه بگم:
htaccess روی سرعت، امنیت و سئو تاثیر مستقیم داره
کوچکترین اشتباه میتونه سایتو بخوابونه
ولی اگر درست استفاده کنی، سایتت چند لول حرفهایتر میشه.
سوالات پرتکرار
آیا حذف htaccess وردپرس خطرناکه؟
بله، لینکها از کار میافتن
آیا وردپرس خودش htaccess میسازه؟
بله، با تغییر permalink
آیا htaccess روی Nginx کار میکند؟
نه، فقط Apache