'.htaccess' โ Apache veb-serverining papka darajasidagi konfiguratsiya fayli. Sayt root papkasiga joylashtiriladi va serverni qayta ishga tushirmasdan ko'plab sozlamalarni o'zgartiradi: yo'naltirishlar, xavfsizlik, kesh, URL go'zallashtirish. Nginx'da bu yo'q (config faqat admin tomonidan), lekin shared hostingda Apache hukmron.
HTTPS'ga majburiy yo'naltirish
Eng birinchi qoida. Barcha HTTP so'rovlarni HTTPS'ga o'tkazadi:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
www'ni olib tashlash (yoki qo'shish)
www'siz versiyaga yo'naltirish (duplicate content oldini oladi):
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
301 redirect (eski sahifa โ yangi)
Sayt yangilanganda eski manzillarni saqlash uchun:
Redirect 301 /eski-sahifa.html https://sayt.uz/yangi-sahifa
SEO uchun juda muhim โ eski sahifaning kuchini yangisiga o'tkazadi.
Chiroyli URL (.php yashirish)
blog.php o'rniga /blog ko'rsatish:
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]
Maxsus xato sahifalari
ErrorDocument 404 /404.php
ErrorDocument 403 /403.php
Fayl himoyasi
Maxfiy fayllarga kirishni taqiqlash:
<Files ".env">
Require all denied
</Files>
config.php, .git papkasini ham shu tarzda yoping.
Gzip siqish (tezlik)
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css application/javascript
</IfModule>
Brauzer keshi
Statik fayllarni keshlash:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/webp "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
</IfModule>
Hotlink himoyasi
Boshqa saytlar rasmingizni o'zining sahifasida ishlatib trafikingizni yeyishini to'sadi. RewriteCond bilan Referer tekshiriladi.
Ehtiyot bo'ling
1) Sintaksis xatosi butun saytni o'chiradi (500 error). Avval backup oling. 2) Har qoidadan keyin saytni tekshiring. 3) RewriteRule tartibi muhim โ yuqoridagi avval ishlaydi.
Sayt.uz amaliyot
Sayt.uz '.htaccess'da HTTPS majburiy, .php yashirish, 404 sahifa, gzip va kesh sozlangan. Maxfiy fayllar (.env, includes/db.php to'g'ridan-to'g'ri kirish) himoyalangan.