.htaccess je, kao što većina zna, fajl kojim je moguće kontrolisati ponašanje Apache Web servera i sa njim je moguće uraditi dosta zanimljivih stvari. Većina hosting provajdera nudi mogućnost korišćenja .htaccess fajla ali u slučaju pogrešnog konfigurisanja se može vrlo lako desiti da vaš sajt prestane sa radom, pa vam savetujem da pre svake izmene uradite bekap.
Evo par zanimljivih linija koda koje bih želeo da podelim sa vama a koje su meni više puta trebale u raznoraznim projektima na kojima sam radio.
Uklonite ekstenzije iz URL-a
U slučaju da želite da uklonite .html ili .php ekstenzije iz URL-a, malo podešavanje .htaccess-a je odličan način da to i izvedete.
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.html -f RewriteRule ^(.*)$ $1.html
Personalizujte stranice sa porukama o grešci
Ako vam je dosadila standardna Error 404 ili Error 403 stranica, postoji vrlo jednostavan način da postavite nešto što se vama dopada.
ErrorDocument 400 badrequest.html ErrorDocument 401 authreqd.html ErrorDocument 403 forbid.html ErrorDocument 404 notfound.html ErrorDocument 500 servererr.html
Forsirajte skidanje odgovarajućih tipova fajlova
Ne želite da vaši posetioci otvaraju mp3 ili video fajlove u okviru svog browsera? No problemo.
ForceType application/octet-stream Header set Content-Disposition attachment
Drugi način da to izvedete i menjanje samog httpd.conf fajla:
<filesmatch "\.(?i:mp3)$"=""> ForceType audio/mpeg SetEnvIf Request_URI "^.*/?([^/]*)$" FILENAME=$1 Header set Content-Disposition "attachment; filename=%{FILENAME}e" UnsetEnv FILENAME
Zabranite hotlinking
Ako ne želite da vam bespotrebno opterećuju server ili troše protok, prosto zabranite hotlinking. Na primer, sledeći kod zabranjuje hotlinkig slika:
RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://(.+\.)?vassajt\.com/ [NC] RewriteCond %{HTTP_REFERER} !^$ #Zamenite denied.jpg sa vašom slikom RewriteRule .*\.(jpe?g|gif|bmp|png)$ denied.jpg [L]
Sprečite listanje sadržaja direktorijuma
Apache nudi mogućnost prikaza sadržaja kompletnog direktorijuma kao i kretanje kroz direktorijume. Ukoliko ne želite da svako vidi šta držite po serveru, to možete sprečiti ili kreiranjem praznog index.html fajla ili korišćenjem sledećeg koda:
Options -Indexes
Brisanje ili dodavanje www u URL
Ukoliko želite da vršite redirekciju korisnika na www ili non-www verziju vašeg sajta, u zavisnosti od toga šta vam je primarni domen, taj posao možete najlakše i najpravilnije uraditi putem .htaccess-a.
Redirekcija na www:
RewriteEngine On RewriteCond %{HTTP_HOST} ^vasdomen.com [NC] RewriteRule ^(.*)$ http://www.vasdomen.com/$1 [L,R=301]
Redirekcija na non-www:
RewriteEngine On RewriteCond %{HTTP_HOST} !^vasdomen.com$ [NC] RewriteRule ^(.*)$ http://vasdomen.com/$1 [L,R=301]
Imate neki dobar kod?
Ukoliko imate neki zanimljiv kod koji bi mogao da se doda u ovoj listi, pošaljite mi ga i rado ću ga objaviti. Time možemo mnogo lakše skupiti znanje na jedno mesto i pomoći onim ljudima kojim naše zajedničko znanje i iskustvo može biti od koristi.