Kaj je datoteka .htaccess?
Datoteka .htaccess (hypertext access) je konfiguracijska datoteka za spletne strežnike Apache. Omogoča vam, da nastavite pravila in vedenje spletnega mesta na ravni mape brez urejanja glavnih konfiguracijskih datotek strežnika.
Kje se nahaja .htaccess?
Običajno se nahaja v korenskem direktoriju spletnega mesta (npr. /public_html). Lahko pa jo uporabimo tudi v podmapah za lokalno upravljanje z nastavitvami.
Kako deluje .htaccess v ozadju?
Ko nekdo obišče stran, Apache preveri .htaccess in uporabi nastavljena pravila pred nalaganjem strani. Zato ima velik vpliv na vedenje strežnika in uporabniško izkušnjo.
Razlika med .htaccess in datotekami v root direktoriju
.htaccess ne prikazuje vsebine kot datoteke index.php ali style.css, ampak usmerja dostop in obnašanje spletnega strežnika.
Ali je vaša stran ustreza zakonu o dostopnosti?
Zakaj je .htaccess pomembna za SEO?
- Preusmeritve (canonical, 301, HTTPS)
- Predpomnjenje (caching)
- Čisti URL-ji
- Zaščita vsebine
Preusmeritve z .htaccess (Redirects)
Redirect 301 /stara-stran.html https://www.mojadomena.si/nova-stran
Ali z uporabo mod_rewrite:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mojadomena\.si$ [NC]
RewriteRule ^(.*)$ https://www.mojadomena.si/$1 [R=301,L]
Blokiranje IP naslovov z .htaccess
Order Deny,Allow
Deny from 123.45.67.89
S tem preprečite dostop določenim uporabnikom ali botom.
Zaščita imenikov z geslom
AuthType Basic
AuthName "Zaščiteno območje"
AuthUserFile /pot/do/.htpasswd
Require valid-user
Poskrbite za vzdrževanje in zagotovite varnost
Skrivanje razširitev datotek (.php, .html)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
Preprečevanje hotlinkanja slik
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www\.)?mojadomena.si [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F]
Nastavitve predpomnjenja (caching)
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 30 days"
ExpiresByType text/css "access plus 7 days"
ExpiresByType application/javascript "access plus 7 days"
</IfModule>
Preusmerjanje na HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Nastavitve napak (Custom Error Pages)
ErrorDocument 404 /napaka-404.html
ErrorDocument 403 /dostop-zavrnjen.html
Omejevanje dostopa do datotek
<FilesMatch "(\.env|config\.php|\.htaccess)">
Order Allow,Deny
Deny from all
</FilesMatch>
Dovoljevanje ali onemogočanje funkcij Apache
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
</IfModule>
Varnostne izboljšave z .htaccess
Header set X-XSS-Protection "1; mode=block"
Header set X-Content-Type-Options "nosniff"
Primer dobre prakse pisanja .htaccess
- Dodaj komentarje (
# komentar) - Ohranjaj red in logiko
- Redno testiraj spremembe
Najpogostejše napake in kako jih odpraviti
- Napaka 500 → napačna sintaksa
- mod_rewrite ne deluje → modul ni omogočen
- Spremembe se ne upoštevajo → napačne pravice ali konfiguracija
Uporaba več .htaccess datotek na isti domeni
Pravila se dedujejo, zato bodite pozorni na konflikt med glavno in podmapami.
.htaccess in CMS sistemi (WordPress, Joomla)
WordPress avtomatsko ustvari .htaccess z osnovnimi pravili. Primer:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Kako testirati spremembe v .htaccess?
- Vedno naredite backup
- Testirajte v staging okolju
- Uporabite Google Search Console za testiranje preusmeritev
Ali je .htaccess vedno najboljša rešitev?
Za manjše strani da. Na velikih sistemih je bolje urejati glavno konfiguracijo Apache zaradi hitrosti.
Kako datoteka .htaccess spreminja delovanje strani
.htaccess vam omogoča natančen nadzor nad vašo stranjo – od preusmeritev, varnosti, hitrosti nalaganja, pa vse do SEO. Pravilna uporaba te datoteke pomeni močnejšo, varnejšo in bolj uspešno spletno stran.
Pogosta vprašanja o .htaccess
Zakaj ne vidim .htaccess datoteke?
Ker je skrita. Vključite prikaz skritih datotek v FTP ali nadzorni plošči.
Ali .htaccess deluje na vseh strežnikih?
Ne, le na Apache strežnikih ali tistih, ki so z njim združljivi.
Kaj pomeni napaka 500 po urejanju .htaccess?
Napaka v sintaksi. Preverite vrstico za vrstico.
Ali lahko izboljšam hitrost strani z .htaccess?
Seveda! S cachingom in kompresijo.
Je datoteka .htaccess primerna tudi za začetnike?
Da, če sledite navodilom in testirate spremembe varno.
Ali lahko WordPress varujem z .htaccess?
Da, še posebej admin mape in datoteke lahko dodatno zaščitite.
Zaključek
Datoteka .htaccess je vaša prva obrambna in optimizacijska linija. Z nekaj znanja lahko zaščitite vsebino, pospešite nalaganje in izboljšate SEO. Ne pozabite testirati in vedno imeti varnostne kopije. 👍
