Htaccess failas – kaip sukurti .htaccess failo instrukciją pradedantiesiems

spausdinti · Время на чтение: 13vyras · pateikė · Paskelbta · Atnaujinta

daugintisKlausyti straipsnio

Kaip sukurti .htaccess failą.

htaccess failą - kaip sukurti .htaccess failą pradedančiajam? Failas .htaccess, kaip taisyklė, turi tik plėtinį pagal Unix – sistemos. Ir tai naudinga svetainėms, kuriose veikia „Apache“ serveris.

Htaccess turi taisyklių rinkinį konkrečiai serverio svetainei. Failas valdo daug „Apache“ žiniatinklio serverio konfigūracijos parinkčių. Apache yra plačiai naudojama serverio programinė įranga, skirta kelių platformų operacinėms sistemoms.

Nors jo naudojama sintaksė iš pradžių gali būti šiek tiek paini, šis .htaccess failas gali padaryti daug naudingų dalykų. Kai kurios jo funkcijos apima peradresavimą, apsaugą slaptažodžiu, prieigos apribojimą pagal tam tikras sąlygas ir kt. Šiame įraše apžvelgsime, kaip sukurti ir sukonfigūruoti .htaccess failą ir įgyvendinti kai kuriuos dažniausiai pasitaikančius jo naudojimo būdus.

Instrukcijos, kaip sukurti .htaccess failą

.htaccess failo nustatymai.

htaccess paprastai žinomas kaip "taško failas", nes jis prasideda tašku. Taškiniai failai beveik visada yra konfigūracijos failas. Tokie failai gali būti skirti operacinei sistemai arba programinės įrangos daliai. Pagal numatytuosius nustatymus operacinė sistema slepia taškų failus paieškos languose arba bet kurioje sistemos failų tvarkyklėje. Paprastai operacinės sistemos nustatymuose turite pasirinkti parinktį „Rodyti paslėptus failus“. Arba galite naudoti komandą, kad pateiktumėte visus failus komandinėje eilutėje. ls-a

Serveryje gali būti keli panašūs failai ir kiekvienas failas visada veikia rekursyviai. Tai reiškia, kad kiekvienas failas turės įtakos katalogui, kuriame jis yra, taip pat visiems failams ir pakatalogiams.

  1. Norint sukurti šį failą, pakanka naudoti bet kurį turimą teksto rengyklę (pavyzdžiui, užrašų knygelę).
  2. Vardas (.htaccess) – be kabučių ir kitų dalykų.
  3. Išsaugome failą.
  4. Tada mes perkeliame jį į jūsų serverį (hostingą) naudodami FTP klientą, būtinai šakniniame svetainės kataloge. Turite perduoti ASCII režimu. Pagal numatytuosius nustatymus dauguma FTP klientų perduos duomenis naudodami režimą, kuris yra neefektyvus taškiniams failams perduoti. Jūsų FTP klientas turėtų turėti galimybę nustatyti perdavimo režimą. DVEJESNIS
  5. Tada galėsite jį redaguoti kaip norite, tačiau būtinai atnaujinkite failo versiją serveryje (priegloboje). Jei dėl kokių nors priežasčių atrodo, kad taisyklės neįsigaliojo, tai gali būti dėl neteisingų failų teisių. .htaccess failo leidimai turi būti nustatyti į 755. Jūsų FTP klientas turi turėti parinktį „Failo leidimai“. Be to, komandą galite paleisti terminale .chmod 755 .htaccess (prieš failą geriau nurodyti visą adresą).

Paprastas puslapio peradresavimo pavyzdys

Viena iš pagrindinių populiarių .htaccess taisyklių yra puslapio peradresavimas. Galite nukreipti iš bet kurio santykinio kelio savo svetainės vadove. Taip pat galite nukreipti puslapį į absoliutų kelią svetainėje arba į bet kurią kitą vietą internete. Pagrindinė failo sintaksė yra:

Peradresuoti /katalogas_į_peradresuoti_iš/ https://mysite.com/new_directory/index.html

Visada turite naudoti santykinį kelią kaip šaltinio katalogą. Absoliutus kelias turi būti katalogas, į kurį reikia nukreipti.

Klaidos dokumento kūrimo .htaccess pavyzdys

Pasirinktinių klaidų puslapių kūrimas yra labai naudingas, nes leidžia svetainės lankytojams parodyti draugišką klaidos pranešimą, pavyzdžiui, jei neveikia svetainės URL. Taip išvengsite nedraugiškos klaidos „404 failas nerastas“ ir galėsite parodyti draugišką klaidą, paaiškindami galimus sprendimus ir nukreipdami lankytoją atgal į jūsų svetainės turinį, o ne palikdami jį nusivylusį ir pasimetusį.

Norėdami nustatyti pasirinktinius klaidų dokumentus, sukurkite .htaccess failą vadovaudamiesi pagrindinėmis instrukcijomis ir gairėmis, kuriose yra šis tekstas:

ErrorDocument 404 /error_pages/404.html

Pirmiau pateikta eilutė nurodo „Apache“ žiniatinklio serveriui pateikti dokumentą, esantį adresu /error_pages/404.html (po jūsų domeno pavadinimu / svetainės adresu), kai tik įvyksta 404 (failas nerastas) klaida.

Šiame pavyzdyje manėme, kad sukūrėte klaidos dokumentą ir pavadinote jį „404.html“ ir įdėjote į katalogą, pavadintą „klaidos_puslapiai“ po savo domeno pavadinimu. Pavyzdžiui, http://www.yourdomain.com/error_pages/404.html.

404.html dokumentas yra įprastas HTML dokumentas, kaip ir kiti jūsų svetainėje ir gali rodyti bet kokį norimą turinį, tačiau rekomenduojame įtraukti pranešimą „Failas nerastas“.

Norėdami nustatyti papildomus klaidų dokumentus, pvz., 401 neteisėtas, 403 draudžiamas ir 500 vidinio serverio klaidų pranešimus, sukurkite htaccess failą (tašką) vadovaudamiesi pagrindinėmis instrukcijomis ir gairėmis, kuriose yra šis tekstas:

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

Slaptažodžio apsaugos pavyzdys .htaccess

Apache žiniatinklio serverio siūlomos slaptažodžio apsaugos ir autentifikavimo sistemos yra bene svarbiausias .htaccess failų panaudojimas. Labai lengvai galime slaptažodžiu apsaugoti svetainės katalogą (ar kelis), kuriems reikalingas vartotojo vardas ir slaptažodis. Prisijungimo prie šių saugių katalogų procedūrą automatiškai tvarko žiniatinklio naršyklė, naudodama iššokančiąją prisijungimo sąsają (tikriausiai tai matėte anksčiau). Slaptažodžiai taip pat šifruojami naudojant vieną geriausių galimų šifravimo metodų, todėl jūsų prisijungimo duomenys yra saugūs.

Pirmiausia nuspręskite, kurį katalogą norite apsaugoti slaptažodžiu (atminkite, kad visi kataloge esantys failai ir pakatalogiai bus apsaugoti slaptažodžiu), tada sukurkite .htaccess failą vadovaudamiesi pagrindinėmis instrukcijomis ir gairėmis, kuriose yra šis tekstas:

AuthName „nario srities pavadinimas“
AuthUserFile /path/to/password/file/.htpasswd
„AuthType Basic“.
Reikalauti galiojančio vartotojo

Pirmoje eilutėje „Apache“ žiniatinklio serveriui nurodoma, kad saugus katalogas pavadintas „Vartotojo zonos pavadinimas“, kuris bus rodomas, kai pasirodys prisijungimo raginimas. Antroje eilutėje nurodoma slaptažodžio failo vieta. Trečioje eilutėje nurodomas autentifikavimo tipas, šiame pavyzdyje mes naudojame „Basic“, nes naudojame HTTP bazinį autentifikavimą, o galiausiai ketvirtoje eilutėje nurodoma, kad mums reikalingi galiojantys prisijungimo duomenys, ši eilutė taip pat gali būti naudojama norint nurodyti konkretų vartotojo vardą , pvz., „reikalauti vartotojo vardo vartotojo vardo“, reikės vartotojo vardo „naudotojo vardas“.

Tai naudotumėte, jei slaptažodžiu apsaugotumėte administratoriaus sritį, o ne nustatytumėte slaptažodžiu apsaugotą viešąjį katalogą.

Slaptažodžio failo vieta gali būti bet kurioje žiniatinklio serverio vietoje, „/location/of/password/file/“ turėtų būti pakeistas visu/absoliučiu keliu į katalogą, kuriame yra slaptažodžio failas ir „.htpasswd“ failas. turėtų egzistuoti, bet galite tai vadinti kaip tik norite.

Naudojame failo pavadinimą ".htpasswd", nes serveris atpažins failo pavadinimą ir paslėps jį nuo lankytojų. Atminkite, kad kai kurie serveriai reikalauja, kad slaptažodžio failas būtų tame pačiame kataloge kaip ir .htaccess failas. Taip pat svarbu slaptažodžio failo vietai naudoti visą / absoliutų serverio kelią, santykinis kelias arba bet koks URL variantas neveiks.

Slaptažodžio faile bus kažkas panašaus į šį tekstą:

vartotojo vardas: užšifruotas slaptažodis
fred_smith:oCF9Pam/MXJg2

Dabar jūs negalite tik sugalvoti slaptažodžio, „Unix“ / „Linux“ serveriuose juos turi užšifruoti serveris, „Windows“ serveriuose jūs tiesiog naudojate paprasto teksto slaptažodį, nes „Windows“ nesiūlo jokių šifravimo būdų. Slaptažodžio faile galite turėti bet kokį vartotojo įrašų skaičių, po vieną paskyrą eilutėje, atskirdami vartotojo vardą ir slaptažodį dvitaškiu. Jei neturite prieigos prie serverio, paprašykite savo paslaugų teikėjo įjungti šią funkciją. Prašome, valdymo skydelyje yra integruota ši funkcija.

Kaip blokuoti lankytojus pagal IP adresą

Apache žiniatinklio serverio siūlomi lankytojų blokavimo įrankiai leidžia mums uždrausti prieigą tam tikriems lankytojams arba leisti pasiekti tam tikrus lankytojus. Tai itin naudinga blokuojant nepageidaujamus lankytojus arba leidžiant svetainės savininkui pasiekti tik tam tikras svetainės dalis, pavyzdžiui, administravimo sritį.

Norėdami nustatyti lankytojų apribojimus ir blokavimą, sukurkite .htaccess failą vadovaudamiesi pagrindinėmis instrukcijomis ir gairėmis, kuriose yra šis tekstas:

order allow,deny
atmesti nuo 255.0.0.0
paneigti nuo 123.45.6.
allow from all

Aukščiau pateiktose eilutėse nurodoma, kad „Apache“ žiniatinklio serveris blokuotų lankytojus iš IP adresų „255.0.0.0“ ir „123.45.6“. Atkreipkite dėmesį, kad antrame IP adresu trūksta ketvirto skaičių rinkinio, tai reiškia bet kokį IP adresą, atitinkantį Pirmasis. bus užblokuoti trys skaičių rinkiniai, pavyzdžiui, „123.45.6.10“ ir „123.45.6.255“.

Jei norite blokuoti visus lankytojus, išskyrus save, sukurkite .htaccess failą vadovaudamiesi pagrindinėmis instrukcijomis ir gairėmis, kuriose yra šis tekstas:

order allow,deny
leisti nuo 255.0.0.0
deny from all

Aukščiau pateiktose eilutėse nurodoma, kad „Apache“ žiniatinklio serveris blokuotų visus lankytojus, išskyrus tuos, kurių IP adresas „255.0.0.0“, kurį turėtumėte pakeisti savo IP adresu.

Galite pridėti bet kokį skaičių „neleisti iš“ ir „leisti iš“ po „užsakymas leisti, atmesti“. Apatinėje eilutėje atkreipkite dėmesį į pakeitimą iš „leisti visiems“ į „neleisti visiems“, tai svarbu ir turėtų būti pakeista atsižvelgiant į jūsų poreikius. Jei norite leisti lankytojams prieigą, turėtumėte naudoti „leisti iš visų“ ir aukščiau įterpti eilutes „neleisti“.

Užblokuotiems lankytojams bus rodomas klaidos pranešimas "403 Uždrausta“.

.htaccess failo nustatymo pavyzdys.

Taisyklių pavyzdžiai, esantys mano .htaccess faile

# AMPFORWPLBROWSERCSTART Naršyklės talpyklos kaupimas – stiprintuvo maiša naršyklės pusėje.

IfModule mod_expires.c turi būti skliausteliuose „<>“
Baigiasi aktyvus įjungtas
AddType application/vnd.ms-fontobject .eot
AddType application/x-font-ttf .ttf
AddType application/x-font-opentype .otf
AddType application/x-font-woff .woff
AddType vaizdas/svg+xml .svg
ExpiresByType application/vnd.ms-fontobject "prieiga 1 metai"
ExpiresByType programa/x-font-ttf „prieiga 1 metai“
ExpiresByType programa/x-font-opentype "prieiga 1 metai"
ExpiresByType programa/x-font-woff „prieiga 1 metai“
ExpiresByType vaizdas/svg+xml „prieiga 1 metai“
ExpiresByType vaizdas / žiniatinklis "prieiga 1 metai"
ExpiresByType vaizdas/gif „prieiga 1 metai“
ExpiresByType image/jpg „prieiga 1 metai“
ExpiresByType vaizdas/jpeg „prieiga 1 metai“
ExpiresByType vaizdas/png „prieiga 1 metai“
ExpiresByType vaizdas / x-icon "prieiga 1 metai"
ExpiresByType text/css "prieiga 3 mėnesiai"
ExpiresByType tekstas/javascript „prieiga 3 mėn.“
ExpiresByType programa / javascript "prieiga 3 mėnesiai"
ExpiresByType programa / x-javascript "prieiga 3 mėnesiai"
ExpiresByType application/xhtml-xml „prieiga 3 mėn.“
ExpiresByType programa / pdf „prieiga 3 mėnesiai“
ExpiresByType programa / x-shockwave-flash "prieiga 3 mėnesiai"
/IfModule turi būti skliausteliuose „<>“

# BEGIN GZIP KOMPRESIJA – gzip glaudinimas

IfModule mod_gzip. būtinai įrašykite skliausteliuose „<>“
mod_gzip_on Taip
mod_gzip_dechunk Taip
mod_gzip_item_include failas \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include tvarkytojas ^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 ^Turinio kodavimas:.*gzip.*
/IfModule turi būti skliausteliuose „<>“

# Pašalinkite naršyklės klaidas (reikia tik tikrai senoms naršyklėms)

BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Antraštės pridėti Vary User-Agent
IfModule mod_deflate.c turi būti pateiktas skliausteliuose „<>“

# Suspausti HTML, CSS, JavaScript, tekstą, XML ir šriftus

AddOutputFilterByType DEFLATE programa / javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE programa/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE programa/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE programa/xml
AddOutputFilterByType DEFLATE šriftas/opentype
AddOutputFilterByType DEFLATE šriftas/otf
AddOutputFilterByType DEFLATE šriftas/ttf
AddOutputFilterByType DEFLATE vaizdas/svg+xml
AddOutputFilterByType DEFLATE vaizdas / x piktograma
AddOutputFilterByType DEFLATE tekstas / css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE tekstas / javascript
AddOutputFilterByType DEFLATE tekstas / paprastas
AddOutputFilterByType DEFLATE text/xml
/IfModule turi būti skliausteliuose „<>“

# Neleiskite HTTP Vary antraštėms grąžinti MSIE šeimos naršykles


„BrowserMatch“ „MSIE“ priverstinis – nekeičiamas
„BrowserMatch“ „Mozilla/4.[0-9]{2}“ priverstinis kintamasis nėra
/IfModule turi būti skliausteliuose „<>“

# Slėpti serverio parašą

Serverio parašas išjungtas

# Išjungti kairiuosius robotus

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

Pateikiau minimalias taisykles, kurios yra mano byloje.

.htaccess failo tinkinimo funkcijos ir dažniausios klaidos

Tiesa, šis failas dažniausiai sukelia banalią serverio klaidą 500 Internal Server Error. Turite labai atidžiai redaguoti failą ir laikytis šių taisyklių:

  • Prieš redaguodami visada išsaugokite darbinę .htaccess failo kopiją.
  • Niekada neįveskite naujų taisyklių gamybos vietoje, prieš tai neperžiūrėję failo.
  • Kodavimas paprastai yra UTF-8.
  • Kiekviena taisyklė turi būti parašyta naujoje eilutėje.
  • Tos instrukcijos, kurių neapdoroja Apache serveris, neįtraukiamos – jos iš karto sukelia serverio klaidą.
  • Negalite parašyti kelių instrukcijų vienoje eilutėje - gausite 500 klaidą.
  • Būkite atsargūs – papildomas tarpas ar simbolis gali sukelti klaidą.

Kokią įtaką .htaccess failas turi svetainei

Paprastai šio failo dėka galite puikiai optimizuoti svetainę paieškos sistemoms. Štai ką jis gali padaryti:

  1. 301 peradresavimo nustatymas svetainėje (dažniausia taisyklė). Galima naudoti reikalingoms užduotims atlikti.
  2. Svetainės maišos nustatymai serverio pusėje.
  3. Gzip glaudinimo įjungimas (GNU Zip trumpinys) – failų glaudinimas serverio pusėje.
  4. Užtikrinti svetainės apsaugą: blokuoti IP adresus, uždrausti ir pan.
  5. Nurodykite reikiamą svetainės atminties kiekį.

Tai yra minimali šio failo funkcija. Svarbiausia yra teisingai laikytis visų šių rekomendacijų. Tolesniuose straipsniuose pabandysiu aprašyti kai kurios šio failo taisyklės, ir mes taip pat žinosime, kas yra robots.txt failą ir kaip pridėti svetainės schemą į paieškos sistemas.

Dėkojame, kad skaitėte Nicola Top

Kuo įrašas naudingas?

Spustelėkite šypsenėlę, kad įvertintumėte!

Vidutinis reitingas 5 / 5. Įvertinimų skaičius: 29

Įvertinimų dar nėra. Pirmiausia įvertinkite.

Tau taip pat gali patikti...

1 atsakymas

  1. Илья parašė:

    Ooo ačiū už informaciją. Bent jau galite pažvelgti į gyvus pavyzdžius. Gradiento animacija yra tiesiog super))) Puiki programa - greičiausiai kentėjo ilgą laiką.

Parašykite komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *

penkiolika + 1 =