Preskoči na vsebino
BeoHosting
BeoHosting
Tehnično

Vodnik za datoteko .htaccess

BeoHosting Ekipa··10 min branja branja
Vodnik za datoteko .htaccess

Kaj je .htaccess datoteka?

.htaccess (Hypertext Access) je konfiguracijska datoteka za Apache in LiteSpeed spletne strežnike. Na BeoHostingu jo urejate prek cPanel nadzorne plošče. Nahaja se v korenskem imeniku vaše spletne strani in vam omogoča nadzor nad obnašanjem strežnika na ravni imenika - brez dostopa do glavne konfiguracije strežnika. To jo naredi izjemno uporabno na shared gostovanju, kjer nimate dostopa do datoteke httpd.conf.

Pika na začetku imena pomeni, da je datoteka skrita na Linux/Unix sistemih. Nekateri FTP odjemalci in file managerji je privzeto ne prikazujejo - preverite možnosti za prikaz skritih datotek. V cPanelu ima File Manager možnost "Show Hidden Files" v nastavitvah.

Kje se .htaccess nahaja?

Glavna .htaccess datoteka se nahaja v korenskem imeniku vaše spletne strani (public_html ali htdocs). Pravila v njej se uporabljajo za vse datoteke in podmape. Lahko imate dodatne .htaccess datoteke v podmapah s pravili, specifičnimi za tisto mapo - ta nadomestijo pravila iz nadrejene .htaccess datoteke za datoteke v tisti mapi.

Preusmeritve (Redirects)

301 trajna preusmeritev

301 redirect iskalnikom pove, da je stran trajno premeščena na nov naslov. SEO vrednost (link juice) se prenese na nov URL naslov. Uporabite ga, ko menjate URL strukturo strani, selite spletno stran na novo domeno ali želite konsolidirati več URL-jev v enega.

  • Preusmeritev ene strani: Redirect 301 /stara-stran /nova-stran - preusmeri konkretno pot na novo.
  • Preusmeritev celotne domene: Uporablja RewriteRule s HTTP_HOST pogojem za preusmeritev vsega prometa z ene domene na drugo.
  • Preusmeritev z www na brez www: RewriteCond za HTTP_HOST, ki preveri prisotnost www predpone in preusmeri na različico brez www (ali obratno).

302 začasna preusmeritev

302 redirect je začasen - iskalnikom pove, naj obdržijo stari URL v indeksu, ker se bo stran morda vrnila na stari naslov. Uporabite ga za začasne promocije, A/B testiranje ali vzdrževanje.

Vsiljevanje HTTPS

Eno najpogostejših uporab .htaccess-a je preusmeritev HTTP prometa na HTTPS. Za to potrebujete nameščen certifikat, ki omogoča HTTPS. To je nujno za varnost spletne strani in SEO uvrstitev. Pravilo uporablja RewriteCond, da preveri, ali je povezava že HTTPS (prek HTTPS spremenljivke ali X-Forwarded-Proto header-ja), in če ni, izvede 301 preusmeritev na HTTPS različico istega URL naslova.

Varnostna pravila

Zaščita pred dostopom do občutljivih datotek

Blokirajte dostop do datotek, ki ne bi smele biti javno dostopne. FilesMatch direktiva z regularnimi izrazi lahko blokira dostop do konfiguracijskih datotek, kot so .htaccess, .env, wp-config.php, php.ini in podobne. Strežnik vrne 403 Forbidden napako, ko nekdo poskuša dostopati do teh datotek.

Zaščita imenika pred listanjem

Možnost "Options -Indexes" preprečuje, da bi Apache prikazoval seznam datotek v imeniku, ki nima index datoteke. Brez te možnosti lahko kdor koli vidi vse datoteke v imeniku s preprostim dostopom do URL-ja imenika.

Blokiranje zlonamernih botov

Uporabite RewriteCond s HTTP_USER_AGENT spremenljivko za blokiranje znanih zlonamernih botov, scraperjev in spam crawlerjev. Lahko uporabite regularne izraze za ujemanje več user-agent stringov in jih preusmerite na 403 stran ali preprosto blokirate dostop.

Zaščita pred hotlinkingom

Hotlinking je, ko druge spletne strani neposredno uporabljajo vaše slike z vašega strežnika in trošijo vašo pasovno širino. RewriteCond pravilo preveri HTTP_REFERER header in blokira zahteve za slike (jpg, jpeg, png, gif, svg), ki ne prihajajo z vaše domene. Hotlinkane slike lahko celo preusmerite na placeholder sliko, ki pove, da je hotlinking blokiran.

Predpomnjenje (Caching)

Pravilno nastavljeno predpomnjenje dramatično pospeši vašo spletno stran za vrnitvene obiskovalce. Brskalnik lokalno predpomni datoteke, tako da jih ni treba ponovno prenašati ob vsakem obisku.

Nastavitev predpomnilnika po vrsti datoteke

Uporabite mod_expires za nadzor, kako dolgo brskalniki predpomnijo različne vrste datotek:

  • Slike (jpg, png, gif, svg, webp): 1 leto - slike se redko spreminjajo.
  • CSS in JavaScript datoteke: 1 mesec - spreminjajo se pogosteje od slik, vendar ne vsakodnevno.
  • Pisave (woff, woff2, ttf): 1 leto - pisave se praktično nikoli ne spreminjajo.
  • HTML strani: Kratko ali brez predpomnilnika - vsebina se pogosto posodablja.
  • PDF in dokumenti: 1 mesec - posodabljajo se občasno.

GZIP kompresija

GZIP kompresija zmanjšuje velikost datotek, ki se pošiljajo brskalniku, tipično za 60-80 %. Uporabite mod_deflate za stiskanje text/html, text/css, application/javascript, application/json, text/xml in podobnih besedilnih formatov. Ne stiskajte slik, ker so že stisnjene.

Custom error strani

Namesto generičnih strežniških napak lahko prikažete prilagojene strani, ki so zasnovane v skladu z vašo spletno stranjo in obiskovalcem pomagajo najti tisto, kar iščejo.

  • ErrorDocument 404: Stran se prikaže, ko iskana stran ne obstaja. Vključite iskanje po spletni strani, priljubljene povezave in kontaktne informacije.
  • ErrorDocument 403: Prikaže se, ko je dostop prepovedan. Pojasnite, zakaj, in ponudite alternativo.
  • ErrorDocument 500: Notranja napaka strežnika. Pojasnite, da je težava začasna, in ponudite kontakt za podporo.
  • ErrorDocument 503: Storitev ni na voljo. Uporabno za prikazovanje vzdrževalne strani s pričakovanim časom vrnitve.

Uporabni snippeti za vsakodnevno uporabo

Blokiranje IP naslova

Uporabite Require direktive (Apache 2.4+) ali Order/Deny (Apache 2.2) za blokiranje specifičnih IP naslovov ali razponov. To je uporabno za blokiranje znanih napadalcev ali neželenih obiskovalcev.

Zaščita WordPress admin plošče

Omejite dostop do wp-admin imenika in datoteke wp-login.php na specifične IP naslove. To dramatično zmanjša število brute-force napadov na vašo WordPress spletno stran. Lahko dodate tudi HTTP avtentikacijo kot dodatno plast zaščite.

Nastavitev PHP vrednosti

Na shared gostovanju lahko spreminjate PHP konfiguracijo prek .htaccess-a z uporabo direktiv php_value in php_flag: upload_max_filesize za velikost upload-a, max_execution_time za timeout skript, memory_limit za RAM in post_max_size za velikost POST zahtev.

Preusmeritev za vzdrževanje

Ko delate na spletni strani in želite obiskovalcem prikazati vzdrževalno stran, uporabite RewriteCond, da preverite, ali je obiskovalec z vašega IP naslova (sebe pustite), in vse ostale preusmerite na maintenance.html stran. Uporabite 302 (začasno) preusmeritev, nikoli 301.

Pogoste napake in odpravljanje težav

  • 500 Internal Server Error: Najpogostejša napaka. Običajno pomeni sintaktično napako v .htaccess-u. Preverite dnevnike strežnika (Error Log v cPanelu) za podrobnosti. Odstranjujte pravila eno za drugim, dokler ne najdete problematičnega.
  • Redirect zanka: Zgodi se, ko dve pravili preusmerjata eno na drugo. Uporabite RewriteCond pogoje, da se izognete zanki (npr. preverite, ali je že HTTPS pred preusmeritvijo).
  • Pravila ne delujejo: Preverite, ali je mod_rewrite omogočen. Na LiteSpeed strežniku Apache pravila običajno delujejo, vendar lahko obstajajo razlike. Prav tako preverite, ali ima .htaccess datoteka pravilna dovoljenja (644).
  • UTF-8 težava: Shranite .htaccess datoteko v UTF-8 kodiranju brez BOM-a (Byte Order Mark). BOM lahko povzroči nepričakovano vedenje.

Zaključek

.htaccess je močno orodje, ki vam daje nadzor nad vašo spletno stranjo na ravni strežnika. Od preusmeritev in varnosti, prek predpomnjenja do custom error strani - pravilna konfiguracija lahko dramatično izboljša zmogljivost, varnost in SEO vaše spletne strani. Vedno naredite varnostno kopijo pred spremembami, testirajte pravilo za pravilom in uporabite dnevnike strežnika za diagnostiko težav.

BeoHosting Ekipa

10+ let izkušenj — Strokovnjaki za spletno gostovanje in infrastrukturo

  • Web Hosting
  • WordPress Hosting
  • VPS
  • Dedicated Serveri
  • Domeni
  • SSL
  • cPanel
  • LiteSpeed
  • Linux administracija
  • DNS

Zadnja posodobitev: