Htaccess fayli - yangi boshlanuvchilar uchun .htaccess fayl ko'rsatmalarini qanday yaratish

chop etish · Vremya na chtenie: 13min · tomonidan · Chop etilgan · Yangilangan

ko'paytirishMaqolani tinglang

.htaccess faylini qanday yaratish mumkin.

htaccess fayli - yangi boshlanuvchilar uchun .htaccess faylini qanday yaratish mumkin? .htaccess fayli, qoida tariqasida, faqat Unix tizimlari ostida kengaytmaga ega. Va bu Apache serverida ishlaydigan saytlarga foyda keltiradi.

Htaccess-da serverdagi ma'lum bir sayt uchun qoidalar to'plami mavjud. Fayl Apache veb-serverining ko'plab konfiguratsiya variantlarini boshqaradi. Apache - platformalararo operatsion tizimlar uchun keng qo'llaniladigan server dasturi.

U foydalanadigan sintaksis dastlab biroz chalkash bo'lishi mumkin bo'lsa-da, bu .htaccess fayli juda ko'p foydali narsalarni qila oladi. Uning ba'zi xususiyatlariga qayta yo'naltirish, parolni himoya qilish, ma'lum shartlar asosida kirishni cheklash va boshqalar kiradi. Ushbu postda biz .htaccess faylini qanday yaratish va sozlashni ko'rib chiqamiz va undan eng keng tarqalgan foydalanish usullarini amalga oshiramiz.

.htaccess faylini yaratish bo'yicha ko'rsatmalar

.htaccess fayl sozlamalari.

htaccess odatda "nuqta fayli" sifatida tanilgan, chunki u nuqta bilan boshlanadi. Nuqta fayllari deyarli har doim konfiguratsiya faylidir. Bunday fayllar operatsion tizim yoki dasturiy ta'minot uchun bo'lishi mumkin. Odatiy bo'lib, operatsion tizim nuqta fayllarini qidiruv oynalarida yoki har qanday tizim fayl boshqaruvchisida yashiradi. Odatda, operatsion tizimingiz sozlamalarida "Yashirin fayllarni ko'rsatish" variantini tanlashingiz kerak. Yoki buyruq satridagi barcha fayllarni ro'yxatga olish uchun buyruqdan foydalanishingiz mumkin. ls-a

Serverda bir nechta shunga o'xshash fayllar bo'lishi mumkin va har bir fayl doimo rekursiv ishlaydi. Bu shuni anglatadiki, har bir fayl u joylashgan katalogga, shuningdek, barcha fayllar va pastki kataloglarga ta'sir qiladi.

  1. Ushbu faylni yaratish uchun har qanday mavjud matn muharriridan (masalan, bloknot) foydalanish kifoya.
  2. Ism (.htaccess) - tirnoqsiz va boshqa narsalarsiz.
  3. Biz faylni saqlaymiz.
  4. Keyin biz uni FTP mijozi yordamida serveringizga (xosting) o'tkazamiz, albatta saytning asosiy katalogida. ASCII rejimida uzatishingiz kerak. Odatiy bo'lib, ko'pchilik FTP mijozlari nuqta fayllarini uzatishda samarasiz bo'lgan rejim yordamida ma'lumotlarni uzatadilar. Sizning FTP mijozingiz uzatish rejimini o'rnatishi kerak. BINARY
  5. Keyin uni xohlaganingizcha tahrirlashingiz mumkin, lekin faylning serverdagi (hosting) versiyasini yangilashni unutmang. Agar biron sababga ko'ra qoidalar kuchga kirmagandek tuyulsa, bu noto'g'ri fayl ruxsatnomalari bilan bog'liq bo'lishi mumkin. .htaccess fayl ruxsatnomalari 755 ga o'rnatilishi kerak. FTP mijozingizda "Fayl ruxsatlari" opsiyasi bo'lishi kerak. Bundan tashqari, siz .chmod 755 .htaccess terminalida buyruqni ishga tushirishingiz mumkin (fayldan oldin to'liq manzilni ko'rsatish yaxshidir).

Oddiy sahifani qayta yo'naltirish misoli

.htaccess-dagi asosiy mashhur qoidalardan biri sahifani qayta yo'naltirishdir. Saytingiz direktoridagi har qanday nisbiy yo'ldan marshrut qilishingiz mumkin. Shuningdek, siz sahifani saytingizdagi mutlaq yo'lga yoki Internetdagi istalgan boshqa joyga yo'naltirishingiz mumkin. Faylingizda ishlatiladigan asosiy sintaksis:

Qayta yo'naltirish /directory_to_redirect_from/ https://mysite.com/new_directory/index.html

Manba katalogi sifatida har doim nisbiy yo'ldan foydalanishingiz kerak. Mutlaq yo'l qayta yo'naltiriladigan katalog bo'lishi kerak.

.htaccess da xato hujjatini yaratish misoli

Maxsus xato sahifalarini yaratish juda foydali, chunki u veb-saytingizga tashrif buyuruvchilarga, masalan, veb-saytingizdagi URL ishlamasa, do'stona xato xabarini ko'rsatishga imkon beradi. Bu do'stona "404 fayl topilmadi" xatosidan qochadi va sizga do'stona xatoni ko'rsatishga imkon beradi, mumkin bo'lgan echimlarni tushuntiradi va tashrif buyuruvchilarni hafsalasi pir bo'lgan va yo'qolgan holda qoldirib, veb-saytingiz tarkibiga qaytarishga imkon beradi.

Maxsus xato hujjatlarini oʻrnatish uchun quyidagi matnni oʻz ichiga olgan asosiy koʻrsatmalar va koʻrsatmalarga amal qilgan holda .htaccess faylini yarating:

ErrorDocument 404 /error_pages/404.html

Yuqoridagi satr Apache veb-serveriga 404 (fayl topilmadi) xatosi yuzaga kelganda /error_pages/404.html (domen nomingiz/veb-sayt manzilingiz ostida) joylashgan hujjatni ko'rsatishni aytadi.

Ushbu misolda siz xato hujjati yaratib, uni "404.html" deb nomladingiz va uni domen nomingiz ostida "error_pages" nomli katalogga joylashtirdingiz deb taxmin qildik. Masalan, http://www.yourdomain.com/error_pages/404.html.

404.html hujjati veb-saytingizdagi boshqalar kabi oddiy HTML hujjatdir va siz xohlagan kontentni ko‘rsatishi mumkin, ammo “Fayl topilmadi” xabarini qo‘shishingizni tavsiya qilamiz.

401 Ruxsatsiz, 403 Taqiqlangan va 500 Ichki Server xato xabarlari kabi qoʻshimcha xato hujjatlarini oʻrnatish uchun quyidagi matnni oʻz ichiga olgan asosiy koʻrsatmalar va koʻrsatmalarga amal qilgan holda htaccess faylini (nuqta) yarating:

ErrorDocument 401 /error_pages/401.html
ErrorDocument 404 /error_pages/404.html
ErrorDocument 500 /error_pages/500.html

.htaccess da parolni himoya qilish misoli

Apache veb-serveri tomonidan taqdim etilgan parolni himoya qilish va autentifikatsiya qilish tizimlari, ehtimol, .htaccess fayllaridan eng muhim foydalanishdir. Kirish uchun foydalanuvchi nomi va parolni talab qiladigan veb-saytning katalogini (yoki bir nechtasini) parol bilan himoyalash juda oson. Ushbu xavfsiz kataloglar uchun tizimga kirish tartibi qalqib chiquvchi kirish interfeysi yordamida avtomatik ravishda veb-brauzer tomonidan boshqariladi (ehtimol siz buni avval ham ko'rgan bo'lishingiz mumkin). Parollar ham mavjud shifrlashning eng yaxshi usullaridan biri yordamida shifrlanadi, bu sizning login hisob ma'lumotlaringizni xavfsiz saqlaydi.

Birinchidan, qaysi katalogni parol bilan himoyalashni xohlayotganingizni aniqlang (katalogdagi barcha fayllar va pastki kataloglar parol bilan himoyalangan bo'lishini unutmang), so'ngra quyidagi matnni o'z ichiga olgan asosiy ko'rsatmalar va ko'rsatmalarga amal qilgan holda .htaccess faylini yarating:

AuthName “A’zo hududi nomi”
AuthUserFile /path/to/password/file/.htpasswd
AuthType Basic
Yaroqli foydalanuvchini talab qilish

Birinchi satr Apache veb-serveriga xavfsiz katalog "Foydalanuvchi zonasi nomi" deb nomlanishini aytadi, u kirish so'rovi ochilganda ko'rsatiladi. Ikkinchi qatorda parol faylining joylashuvi ko'rsatilgan. Uchinchi qator autentifikatsiya turini ko'rsatadi, bu misolda biz "Asosiy" dan foydalanmoqdamiz, chunki biz HTTP asosiy autentifikatsiyasidan foydalanmoqdamiz va nihoyat to'rtinchi qator bizdan haqiqiy login hisob ma'lumotlarini talab qilishimizni bildiradi, bu qatordan ma'lum bir foydalanuvchi nomini ko'rsatish uchun ham foydalanish mumkin. , masalan, "foydalanuvchi nomi foydalanuvchi nomini talab qilish" "foydalanuvchi nomi" foydalanuvchi nomini talab qiladi.

Agar siz parol bilan himoyalangan umumiy katalogni o'rnatish o'rniga administrator hududini parol bilan himoya qilgan bo'lsangiz, undan foydalanasiz.

Parol faylining joylashuvi veb-serveringizning istalgan joyida bo'lishi mumkin, "/location/of/password/file/" parol fayli va ".htpasswd" faylini o'z ichiga olgan katalogga to'liq/mutlaq yo'l bilan almashtirilishi kerak. mavjud bo'lishi kerak, lekin siz uni xohlaganingizcha chaqirishingiz mumkin.

Biz ".htpasswd" fayl nomidan foydalanamiz, chunki server fayl nomini taniydi va uni tashrif buyuruvchilardan yashiradi. E'tibor bering, ba'zi serverlar parol fayli .htaccess fayli bilan bir xil katalogda bo'lishini talab qiladi. Parol faylining joylashuvi uchun to'liq/mutlaq server yo'lidan foydalanish ham muhim, nisbiy yo'l yoki URLning har qanday o'zgarishi ishlamaydi.

Parol faylida quyidagi matnga o'xshash narsa bo'ladi:

foydalanuvchi nomi: shifrlangan parol
fred_smit: oCF9Pam/MXJg2

Endi siz shunchaki parol o'ylab topa olmaysiz, Unix/Linux serverlarida ular server tomonidan shifrlangan bo'lishi kerak, Windows serverlarida oddiy matn parolidan foydalanasiz, chunki Windows hech qanday shifrlash usullarini taklif qilmaydi. Siz parol faylida foydalanuvchi nomi va parolni ikki nuqta bilan ajratib, har bir satrda bitta hisob qaydnomasi bo'lishi mumkin. Agar serverga kirish imkoningiz bo'lmasa, xizmat ko'rsatuvchi provayderingizdan ushbu xususiyatni yoqishini so'rang. Iltimos, boshqaruv panelida bu xususiyat o'rnatilgan.

IP-manzil bo'yicha tashrif buyuruvchilarni qanday bloklash mumkin

Apache veb-server tomonidan taqdim etilgan tashrif buyuruvchilarni blokirovka qilish vositalari bizga ma'lum tashrif buyuruvchilarga kirishni rad etish yoki muayyan tashrif buyuruvchilarga kirishga ruxsat berish imkonini beradi. Bu istalmagan tashrif buyuruvchilarni bloklash yoki veb-sayt egasiga veb-saytning faqat ma'lum bo'limlariga, masalan, ma'muriyat maydoniga kirishga ruxsat berish uchun juda foydali.

Tashrifchilar cheklovlari va blokirovkalarini oʻrnatish uchun quyidagi matnni oʻz ichiga olgan asosiy koʻrsatmalar va koʻrsatmalarga amal qilgan holda .htaccess faylini yarating:

order allow,deny
255.0.0.0 dan rad etish
123.45.6 dan rad etish.
allow from all

Yuqoridagi satrlar Apache veb-serveriga tashrif buyuruvchilarni "255.0.0.0" va "123.45.6." IP manzillaridan bloklashni aytadi, ikkinchi IP-manzilda to'rtinchi raqamlar to'plami yo'qligini unutmang, bu IP manziliga mos keladigan har qanday IP manzilni anglatadi. birinchi. uchta raqamlar to'plami bloklanadi, masalan, "123.45.6.10" va "123.45.6.255".

O'zingizdan tashqari barcha tashrif buyuruvchilarni bloklashni sozlash uchun quyidagi matnni o'z ichiga olgan asosiy ko'rsatmalar va ko'rsatmalarga amal qilgan holda .htaccess faylini yarating:

order allow,deny
255.0.0.0 dan ruxsat berish
deny from all

Yuqoridagi satrlar Apache veb-serveriga "255.0.0.0" IP manziliga ega bo'lganlardan tashqari barcha tashrif buyuruvchilarni bloklashni aytadi, ularni o'zingizning IP manzilingiz bilan almashtirishingiz kerak.

“Buyurtmaga ruxsat berish, rad etish”dan keyin istalgan miqdordagi “rad etish” va “ruxsat berish” yozuvlarini qo‘shishingiz mumkin. Xulosadagi "hammaga ruxsat berish" dan "hammaga rad etish" ga o'zgarishiga e'tibor bering, bu muhim va sizning talablaringizga qarab o'zgartirilishi kerak. Agar tashrif buyuruvchilaringizga kirishga ruxsat berishni istasangiz, "hammaga ruxsat berish" dan foydalaning va yuqoridagi "rad etish" qatorlarini qo'ying.

Bloklangan tashrif buyuruvchilarga xato xabari ko'rsatiladi "403 Taqiqlangan".

.htaccess faylini o'rnatishga misol.

Mening .htaccess faylimdagi misol qoidalari

# AMPFORWPLBROWSERCSTART Brauzer keshlash - brauzer tomonida kuchaytirgich xeshlash.

IfModule mod_expires.c "<>" qavs ichiga olinishi kerak
Faol kuni tugaydi
AddType application/vnd.ms-fontobject .eot
AddType ilovasi/x-font-ttf .ttf
AddType ilovasi/x-font-opentype .otf
AddType ilovasi/x-font-woff .woff
AddType image/svg+xml .svg
ExpiresByType application/vnd.ms-fontobject "1 yil kirish"
ExpiresByType ilovasi/x-font-ttf “1 yil kirish”
ExpiresByType ilovasi/x-font-opentype "1 yil kirish"
ExpiresByType ilovasi/x-font-woff "1 yil kirish"
ExpiresByType image/svg+xml “1 yil kirish”
ExpiresByType image/webp "1 yil kirish"
ExpiresByType image/gif "1 yil kirish"
ExpiresByType image/jpg "1 yil kirish"
ExpiresByType image/jpeg "1 yil kirish"
ExpiresByType image/png "1 yil kirish"
ExpiresByType image/x-icon “1 yil kirish”
ExpiresByType text/css "3 oy kirish"
ExpiresByType matn/javascript “3 oy foydalanish”
ExpiresByType ilovasi/javascript “kirish 3 oy”
ExpiresByType ilovasi/x-javascript “kirish 3 oy”
ExpiresByType application/xhtml-xml “3 oylik kirish”
ExpiresByType ilovasi/pdf “3 oylik kirish”
ExpiresByType ilovasi/x-shockwave-flash “3 oylik kirish”
/IfModule “<>” qavs ichiga olinishi kerak

# BEGIN GZIP COMPRESSION - gzip siqish

IfModule mod_gzip. qavs ichiga “<>” yozganingizga ishonch hosil qiling
mod_gzip_on Ha
mod_gzip_dechunk Ha
mod_gzip_item_include fayli \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include ishlov beruvchisi ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
/IfModule “<>” qavs ichiga olinishi kerak

# Brauzer xatolarini olib tashlang (faqat eski brauzerlar uchun kerak)

BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Sarlavhaga Vary User-Agent qo'shiladi
IfModule mod_deflate.c "<>" qavs ichiga olinishi kerak

# HTML, CSS, JavaScript, matn, XML va shriftlarni siqish

AddOutputFilterByType DEFLATE ilovasi/javascript
AddOutputFilterByType DEFLATE ilovasi/rss+xml
AddOutputFilterByType DEFLATE ilovasi/vnd.ms-fontobject
AddOutputFilterByType DEFLATE ilovasi/x-shrift
AddOutputFilterByType DEFLATE ilovasi/x-font-opentype
AddOutputFilterByType DEFLATE ilovasi/x-font-otf
AddOutputFilterByType DEFLATE ilovasi/x-font-truetype
AddOutputFilterByType DEFLATE ilovasi/x-font-ttf
AddOutputFilterByType DEFLATE ilovasi/x-javascript
AddOutputFilterByType DEFLATE ilovasi/xhtml+xml
AddOutputFilterByType DEFLATE ilovasi/xml
AddOutputFilterByType DEFLATE shrifti/opentype
AddOutputFilterByType DEFLATE shrifti/otf
AddOutputFilterByType DEFLATE shrift/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE tasvir/x belgisi
AddOutputFilterByType DEFLATE matn/css
AddOutputFilterByType DEFLATE matn/html
AddOutputFilterByType DEFLATE matn/javascript
AddOutputFilterByType DEFLATE matn/tekis
AddOutputFilterByType DEFLATE matn/xml
/IfModule “<>” qavs ichiga olinishi kerak

# HTTP Vary sarlavhalarini MSIE oilaviy brauzerlariga qaytarishni oldini olish


BrowserMatch “MSIE” hech qanday o'zgarishsiz
BrowserMatch "Mozilla/4.[0-9]{2}" majburiy o'zgarmas
/IfModule “<>” qavs ichiga olinishi kerak

# Server imzosini yashirish

Server imzosi oʻchirilgan

# Chap botlarni o'chirib qo'ying

SetEnvIfNoCase foydalanuvchi agenti “^Missigua Locator” bad_bot
#SetEnvIfNoCase foydalanuvchi agenti “^PEAR HTTP_Request klassi” bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^Java/1.4.1” bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^Java/1.5.0” bad_bot
SetEnvIfNoCase foydalanuvchi agenti "^psycheclone" bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^WEP Search 00” bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^ FlashGet” bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^GetRight” bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^GetWeb!” bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^Go!Zilla” bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^httplib” bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^Indy Library” bad_bot
SetEnvIfNoCase foydalanuvchi agenti "^InfoNaviRobot" bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^InterGET” bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^Internet Ninja” bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^LexiBot” bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^libWeb/clsHTTP” bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^libwww” bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^libwww-perl” bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^LinkextractorPro” bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^Mozilla.*NEWT” bad_bot
SetEnvIfNoCase foydalanuvchi agenti "^Octopus" bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^ProWebWalker” bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^SuperBot” bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^WebAuto” bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^Wells Search II” bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^Wget” bad_bot
SetEnvIfNoCase foydalanuvchi agenti “^wget” bad_bot

Men faylimda mavjud bo'lgan minimal qoidalarni berdim.

.htaccess Faylni moslashtirish xususiyatlari va umumiy xatolar

To'g'ri, bu fayl ko'pincha banal server xatosi 500 ichki server xatosini keltirib chiqaradi. Siz faylni juda ehtiyotkorlik bilan tahrirlashingiz va quyidagi qoidalarga amal qilishingiz kerak:

  • Tahrirlashdan oldin har doim .htaccess faylining ishchi nusxasini saqlang.
  • Hech qachon faylni ko'rib chiqmasdan ishlab chiqarish saytiga yangi qoidalar kiritmang.
  • Kodlash odatda UTF-8 dir.
  • Har bir qoida yangi qatorga yozilishi kerak.
  • Apache serveri tomonidan qayta ishlanmagan ko'rsatmalar bundan mustasno - ular darhol server xatosini keltirib chiqaradi.
  • Bir qatorda bir nechta ko'rsatmalar yoza olmaysiz - siz 500 xato olasiz.
  • Ehtiyot bo'ling - qo'shimcha joy yoki belgi xatolikka olib kelishi mumkin.

.htaccess fayli saytga qanday ta'sir qiladi

Qoida tariqasida, ushbu fayl tufayli siz mukammal qila olasiz qidiruv tizimlari uchun saytni optimallashtirish. Mana u nima qila oladi:

  1. Saytda 301 yo'naltirishni o'rnatish (eng keng tarqalgan qoida). Kerakli vazifalar uchun ishlatilishi mumkin.
  2. Server tomonida sayt xeshlash sozlamalari.
  3. Gzip siqishni yoqish (GNU Zip uchun qisqa) - server tomonida faylni siqish.
  4. Sayt himoyasini ta'minlang: IP manzillarini bloklash, taqiqlash va hk.
  5. Sayt uchun ajratilgan xotiraning kerakli hajmini belgilang.

Bu fayl uchun mavjud boʻlgan minimal funksiya. Asosiysi, ushbu tavsiyalarning barchasini to'g'ri bajarish. Keyingi maqolalarda men tasvirlashga harakat qilaman ushbu fayl uchun ba'zi qoidalar, va biz nima ekanligini ham bilib olamiz robots.txt fayli va sayt xaritasini qanday qo'shish kerak qidiruv tizimlariga.

Nikola Topni o'qiganingiz uchun tashakkur

Post qanchalik foydali?

Baholash uchun tabassum ustiga bosing!

o'rtacha reyting 5 / 5. Baholar soni: 29

Hozircha reytinglar yo‘q. Avval baho bering.

Sizga ham yoqishi mumkin...

1 Javob

  1. Илья izohi:

    Oooh ma'lumot uchun rahmat. Hech bo'lmaganda jonli misollarni ko'rishingiz mumkin. Gradient animatsiyasi shunchaki super))) Zo'r dastur - ehtimol uzoq vaqt davomida azoblangan.

Fikr bildirish

Email manzilingiz chop etilmaydi. Majburiy bandlar * bilan belgilangan

16 + 12 =