Ma'lumotlar bazasi Profitserver xizmati bilan ishlash bo'yicha oddiy ko'rsatmalar
asosiy Ma'lumotlar bazasi .htaccess fayli sozlanmoqda

.htaccess fayli sozlanmoqda


Ushbu maqolada biz SEOni yaxshilash uchun juda muhim bo'lgan .htaccess faylidan foydalanishning asosiy tamoyillarini o'rganamiz. Ushbu fayl qidiruv tizimlari tomonidan sahifalarni to'g'ri indekslashni ta'minlaydi. Qayta yo'naltirishni boshqarish, xavfsizlikni sozlash va unumdorlikni oshirishni o'rganamiz. Bundan tashqari, biz ushbu faylni mustaqil ravishda sozlash bo'yicha maslahatlar beramiz.

Nima uchun .htaccess kerak

.htaccess fayli Apache serverlarida veb-ishlab chiquvchilar uchun o'ziga xos "masofadan boshqarish" vazifasini bajaradi. U turli parametrlarni sozlash va veb-sayt xatti-harakatlarini boshqarish uchun qulay vositalarni taklif etadi. Agar serverning asosiy konfiguratsiya fayllariga to'g'ridan-to'g'ri kirish imkoni bo'lmasa (masalan, virtual hostingda bo'lgani kabi), .htaccess kerakli o'zgarishlarni amalga oshirish uchun foydali vositaga aylanadi.

Htaccess ko'pincha saytingizning ildiz papkasida yoki maxsus konfiguratsiya zarur bo'lgan papkalarda joylashgan. Misol uchun, agar siz WordPress-dan foydalansangiz, konfiguratsiyani biz maqolada muhokama qilgan Yoast SEO plagini orqali amalga oshirish mumkin. robots.txt sozlanmoqda. Boshqa hollarda, kerakli papkaga o'tish va mavjud .htaccess faylini tahrirlash yoki hali yaratilmagan bo'lsa, uni yaratish kifoya.

.htaccess faylini sozlash

301 htaccess-ni qayta yo'naltirish

.htaccess faylidagi 301 yo'naltirishni veb-saytdagi doimiy qayta yo'naltirishga o'xshatish mumkin. U qidiruv tizimlari va brauzerlarga sahifa endi doimiy ravishda yangi manzilda joylashganligi haqida xabar beradi va xatcho'plarni va indekslashni yangilashni taklif qiladi. Bunday qayta yo'naltirish odatda qidiruv natijalaridagi reytingini saqlab qolish va tashrif buyuruvchilarni yangi joyga yo'naltirish uchun sahifa ko'chirilganda yoki o'chirilganda qo'llaniladi.

Qayta yo'naltirishni faollashtirish uchun .htaccess faylida tegishli buyruqni yoqishingiz kerak:

RewriteEngine on

Shundan so'ng siz qayta yo'naltirishning eng oddiy shaklini sozlashingiz mumkin:

<IfModule mod_rewrite.c>
RewriteEngine On
Redirect 301 /old-page.html /new-page.html
</IfModule>

yordamida shunga o'xshash qayta yo'naltirish Qayta yo'naltirish doimiy direktiva quyidagicha ko'rinadi:

<IfModule mod_rewrite.c>
RewriteEngine On
Redirect permanent /old-page.html http://new-domain.ru/new-page.html
</IfModule>

Bu sozlash uchun eng oson qayta yo'naltirish usullari. Keling, boshqa, yanada rivojlangan qayta yo'naltirish turlaridan foydalanadigan konfiguratsiyani ko'rib chiqaylik mod_rewrite modul:

<IfModule mod_rewrite.c>
RewriteEngine On
    
# Redirecting from one page to another
RewriteRule ^old-page.html$ http://www.example.com/new-page.html [R=301,L]

# Redirecting all traffic from one domain to another
RewriteCond %{HTTP_HOST} ^oldsite.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.oldsite.com$
RewriteRule ^(.*)$ http://www.newsite.com/$1 [R=301,L]
    
# Redirecting from www to non-www (or vice versa)
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

# Redirecting from HTTP to HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

# Redirecting from one subdomain to another
RewriteCond %{HTTP_HOST} ^subdomain1.example.com$
RewriteRule ^(.*)$ http://subdomain2.example.com/$1 [R=301,L]
</IfModule>

Vaqtinchalik ko'chirishni ko'rsatadigan 302 qayta yo'naltiruvchi .htaccess kamroq uchraydi. Mana shunday sozlamaga misol:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^old-page.html$ /new-page.html [R=302,L]
</IfModule>

Direktiv xato hujjati

Bu sozlama saytingizda HTTP xatolari yuzaga kelganda foydalanuvchi nimani koʻrishini boshqarish imkonini beradi. Standart xato xabari o'rniga siz o'zingizning sahifangizni ko'rsatishingiz mumkin, bu tashrif buyuruvchi uchun ko'proq ma'lumot beradi va nima bo'lganini tushunishga yordam beradi. Foydalanish uchun ushbu sintaksisga amal qiling:

ErrorDocument <error_code> <URL_page>

Masalan,

ErrorDocument 404 /errors/not_found.html

Bu degani, qachon a 404 xato yuz berdi, sahifada /errors/not_found.html ochiladi. Mutlaq URL manzillar xuddi shunday belgilanadi:

ErrorDocument 500 http://example.com/errors/server_error.html

Ushbu misol ekranning ko'rinishini ko'rsatadi server_error.html sahifa http://example.com/errors/ taqdirda a 500 Xatolik.

Sayt katalogiga kirishni rad etish

.htaccess faylida buyruq mavjud Hammadan rad eting, bu veb-serveringizdagi ba'zi papkalar yoki fayllarga kirishni rad etishga yordam beradi. Ma'lumotlar xavfsizligini ta'minlash uchun saytga tashrif buyuruvchilardan shaxsiy ma'lumotlar yoki muhim fayllarni yashirishni istasangiz, bu foydali bo'lishi mumkin.

Ro'yxatni o'chirish uchun (barcha mavjud kataloglarni ko'rish) qatorni qo'shishingiz kerak:

Options -Indexes

Muayyan katalogga kirishni bloklash misoli quyidagicha ko'rinadi:

<Directory /path_to_your_directory>
Order Deny,Allow
Deny from all
</Directory>

Xuddi shunday, siz bitta faylga kirishni rad qilishingiz mumkin:

<Files "file.php">
Order Deny,Allow
Deny from all
</Files>

Yoki kengaytma bo'yicha bir qator fayllar uchun:

<FilesMatch "\.(txt|log|bak)$"> # Select the desired extensions, in the example: txt, log, bak
Order Deny,Allow
Deny from all
</FilesMatch>

IP orqali kirishni bloklash

.htaccess faylida IP orqali kirishni blokirovka qilish - bu muayyan IP manzillar yoki ularning guruhlari uchun veb-saytingizga kirishni cheklash imkonini beruvchi usul. Bu sizning saytingizga yoki uning alohida qismlariga ma'lum odamlar yoki kiruvchi botlarga kirishni oldini olishni istasangiz foydali bo'lishi mumkin.

Bitta IP-manzilni bloklash quyidagi buyruq bilan amalga oshiriladi:

Order Deny,Allow
Allow from all
Deny from 11.22.33.44

Bir nechta IP-manzillarni bloklash xuddi shunday "ko'paytirish" orqali amalga oshiriladi.Kimdan rad etish" kerakli manzillar bilan qator.

Bir qator IP manzillarni bloklash uchun:

Order Deny,Allow
Allow from all
Deny from 11.11.11.11/24

Faqat ma'lum IP-larga kirishga ruxsat berish uchun kodni qo'shing:

Order Deny,Allow
Deny from all
Allow from 11.22.33.44

Kirishni to'liq rad etish uchun direktivadan foydalaning Hammadan rad eting, va maska ​​orqali manzillarni bloklash uchun belgilang 11.22 dan rad etish.

Qaerda, 11.22 IP manzilidir niqob.

Foydalanuvchi-Agent tomonidan tashrif buyuruvchilarni bloklash

.htaccess faylida User-Agent tomonidan foydalanuvchilarni bloklash tashrif buyuruvchi foydalanadigan brauzer haqidagi maʼlumotlar asosida veb-serveringizga kimlar kirishini nazorat qilish usuli hisoblanadi. User-Agent qatori sizning serveringiz bilan ishlash uchun foydalanadigan brauzer haqidagi ma'lumotlarni o'z ichiga oladi va bu ma'lumotlar tufayli siz ma'lum foydalanuvchilar uchun kirishni cheklashingiz mumkin.

Foydalanuvchi-Agent tomonidan blokirovka qilishning eng keng tarqalgan usuli - foydalanish mod_rewrite:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^Bot1 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot2 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot3 [NC]
RewriteRule ^.*$ - [F,L]
</IfModule>

Bu misolda:

  1. RewriteCond %{HTTP_USER_AGENT} foydalanuvchi-agent qatorini tekshirish uchun ishlatiladi.
  2. ^Bot1, ^Bot2, ^Bot3 biz bloklamoqchi bo'lgan User-Agent qatorlariga misollardir. NC modifikatorlari taqqoslash katta-kichik harflarni sezmasligi kerakligini ko'rsatadi.
  3. RewriteRule ^.*$ - [F,L] agar RewriteCond shartlaridan birortasi bajarilsa, so'rov uchun qo'llaniladi. U 403 Taqiqlangan holat kodi (F) bilan javob yuboradi va qoidalarni qayta ishlashni to'xtatadi (L).

Htaccess-da keshlash

.htaccess fayli orqali keshlashni sozlash saytingizni foydalanuvchilar uchun tezroq yuklanishiga yordam beradi. U shunday ishlaydi: tasvirlar, CSS uslublari va JavaScript skriptlari kabi ba'zi fayllar birinchi yuklangandan so'ng foydalanuvchi brauzer keshida saqlanadi. Endi brauzer foydalanuvchi har safar sahifaga tashrif buyurganida ularni serverdan qayta yuklash o‘rniga, ushbu fayllarni keshdan foydalanishi mumkin. Bu yuklash vaqtini qisqartiradi va sayt ish faoliyatini yaxshilaydi.

Bir misolni ko'rib chiqing:

# Enable caching for images for 1 month
<FilesMatch "\.(jpg|jpeg|png|gif|svg)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>

# Enable caching for CSS and JavaScript for 1 week
<FilesMatch "\.(css|js)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>

Boshqa tomondan, tez-tez yangilanadigan resurslar uchun keshlashni o'chirib qo'yish kerak:

# Excluding caching for HTML pages and XML files
<FilesMatch "\.(html|xml)$">
Header set Cache-Control "no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "0"
</FilesMatch>

Sayt ish faoliyatini optimallashtirish

The mod_deflate va mod_gzip Apache modullari server foydalanuvchilarning qurilmalariga yuboradigan ma'lumotlarni siqishda yordam beradi. Bu fayllar hajmini kichikroq qiladi, bu esa o'z navbatida sahifa yuklanishini tezlashtiradi. Ammo shuni yodda tutish kerakki, ushbu modullarni qo'llab-quvvatlash va sozlash serveringizga qarab farq qilishi mumkin.

dan foydalanishga misol mod_deflate modul:

<IfModule mod_deflate.c>
# Compressing text file types
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>

uchun misol mod_gzip:

<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$ # Enabling compression for files with extensions .html, .txt, .css, .js, .php, .pl
mod_gzip_item_include mime ^application/x-javascript.* # Enabling compression for MIME types starting with application/x-javascript
mod_gzip_item_include mime ^text/.* # Enabling compression for MIME types starting with text/
mod_gzip_item_exclude mime ^image/.* # Excluding from compression MIME types starting with image/
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* # Excluding already compressed data (responses with the Content-Encoding: gzip header)
</IfModule>

Biz eng ko'p ishlatiladigan direktivalarni muhokama qildik. Siz faylning barcha imkoniyatlari bilan tanishishingiz mumkin rasmiy hujjatlar.

.htaccess faylining funksionalligini qanday tekshirish mumkin

.htaccess faylingiz saytda ishlayotganligini tekshirish uchun quyidagi amallarni bajarishingiz mumkin:

  1. .htaccess faylini xato bilan ataylab o'zgartiring. Bunga javoban server xato qilishi kerak. Ushbu usul faylning ishlashi odatda serverda qo'llaniladimi yoki yo'qligini ko'rsatadi.
  2. Siz kiritgan muayyan o'zgarishlarning funksionalligini tekshiring. Misol uchun, parametrlardan biriga kichik tuzatish kiriting va o'zgarishlar mavjudligini baholang.
  3. Agar o'zgarishlar serverning javobiga bog'liq bo'lsa, sahifaning holat kodini tekshiring. Buni qanday qilish kerak, biz avval maqolada tasvirlab berdik HTTP xato kodlari: server xatolarining to'liq ro'yxati.
  4. Server jurnallariga qarang. Ular .htaccess faylining ishlashi bilan bog'liq barcha xatolarni ko'rsatadi.
  5. Onlayn xizmatlar yoki vositalar yordamida test o'tkazing.

Shuni tushunish kerakki, .htaccess faylining funksionalligini tekshirish uchun barcha amallarni birdaniga bajarish shart emas. Ro'yxatdagi eng mos usulni tanlash va undan foydalanish kifoya.

Xulosa

.htaccess faylini sozlash Apache serveringizni optimallashtirish va himoya qilishda muhim qadamdir. Ushbu fayl qanday qilib qayta yoʻnaltirishni boshqarish, kontentni siqish va xavfsizlikni taʼminlashga yordam berishini oʻrganib chiqdik. .htaccess bilan ishlashni o'zlashtirganingizdan so'ng siz veb-saytlarning ishlashi va funksionalligini yaxshilash uchun kuchli vositaga ega bo'lasiz.

❮ Oldingi maqola FTP serverini sozlash
Keyingi maqola ❯ Linuxda veb-serverni (Apache-PHP-MySQL/MariaDB) qanday sozlash mumkin

Bizdan VPS haqida so'rang

Biz har doim kunduzi yoki tunning istalgan vaqtida savollaringizga javob berishga tayyormiz.