Jedna .htaccess datoteka ili distribuirana konfiguracijska datoteka robusna je datoteka koja se koristi za kontrolu i upravljanje konfiguracijama web stranice. Sve konfiguracijske promjene vrše se na razini pojedinačnog direktorija kako bi se osiguralo da glavne konfiguracijske datoteke poslužitelja ostanu netaknute.
Kada je poželjno koristiti .htaccess datoteku
Bez obzira na to želite li učitati stranice s pogreškama ili implementirati lozinku za sigurnost, .htaccess ima niz primjena. Neki od najčešćih primjera uključuju:
-
Dodavanje preusmjeravanja za određeni URL ili popis URL-ova.
-
Omogućavanje zaštite lozinkom na određenim direktorijima na poslužitelju.
-
Učitavanje prilagođenih stranica s pogreškama.
-
Prisiljavanje web stranice da koristi HTTPS umjesto HTTP-a.
-
Blokiranje ciljanih IP adresa ili domena.
U ovom vodiču provest ćemo vas kroz korake za omogućavanje, stvaranje i korištenje .htaccess datoteke.
Preduvjeti
Kako biste pratili ovaj vodič, morate imati sljedeće:
-
Najnovija verzija sustava Ubuntu je instalirana na vašem sustavu.
-
Apache web poslužitelj mora biti instaliran na vašem Ubuntu poslužitelju.
-
Postavljen Apache virtualni domaćin za vašu domenu.
-
Korisnici sustava moraju imati sudo privilegije.
-
Osiguran virtualni domaćin s SSL-om.
-
Pratite Osiguravanje Apachea s Let’s Encrypt na Ubuntu 18.04 ako konfigurirate i osiguravate Apache koristeći svoju prilagođenu domenu.
-
Alternativno, možete Stvoriti samopotpisani SSL certifikat za Apache u Ubuntu 20.04 ako namjeravate koristiti Apache za potrebe testiranja.
-
|
Napomena: Postoji mnogo pružatelja domena kod kojih možete razmisliti o kupnji prilagođenih domena na mreži. Namecheap, Freenom, i Bluehost, da spomenemo samo neke, dobro su poznati po svojoj iznimnoj usluzi. |
Nakon što završite s početnim postavljanjem, prijavite se na svoj poslužitelj kao sudo korisnik i počnimo.
Korak 1 — Omogućite .htaccess datoteku
Prema zadanim postavkama, .htaccess datoteka je onemogućena. Prvo moramo promijeniti Apache konfiguraciju i omogućiti .htaccess datoteku.
Otvorite apache2/sites-available/your_domain.conf datoteku virtualnog domaćina koristeći nano ili bilo koji željeni uređivač teksta:
|
1 |
$ sudo nano /etc/apache2/sites-available/your_domain.conf |
Pod pretpostavkom da ste spremni s postavljanjem opisanim u Apache web poslužitelj vodiču, pronaći ćete sljedeće konfiguracijske detalje:
|
1 2 3 4 5 6 7 8 |
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName your_domain ServerAlias www.your_domain DocumentRoot /var/www/your_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> |
Zatim uključite sljedeći Directory sadržaj unutar VirtualHost bloka:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName your_domain ServerAlias www.your_domain DocumentRoot /var/www/your_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/your_domain> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow, deny allow from all </Directory> </VirtualHost> |
U gornjem bloku koda, redak AllowOverride All pod Directory sekcija je najznačajnija od svih. Ova sekcija omogućuje korištenje .htaccess datoteka.
Nakon toga spremite svoj rad i zatvorite datoteku. Ako koristite nano uređivač teksta, koristite prečac CTRL + X, Y, i ENTER za zatvaranje datoteke.
Provjerite konfiguraciju prije ponovnog pokretanja web poslužitelja:
|
1 |
$ sudo apache2ctl configtest |
Vidjet ćete Syntax OK kao izlaz ako je sve na svom mjestu. Sada ponovno pokrenite poslužitelj kako biste dodali svoja pravila o lozinkama:
|
1 |
$ sudo systemctl restart apache2 |
Nakon što se .htaccess postavke datoteke omoguće, vrijeme je za stvaranje nove datoteke.
Korak 2 — Stvorite .htaccess datoteku
Stvaranje .htaccess datoteke je jednostavno. Morate otići do korijenskog direktorija weba (web root), tj. izvora, kako biste locirali .htaccess datoteku kako biste osigurali da se konfiguracijske promjene ispravno izvrše.
|
Napomena: Budite oprezni pri lociranju .htaccess datoteke. Suptilna pogreška u konfiguraciji mogla bi nepovoljno utjecati na njezin direktorij i direktorije koji slijede. Na primjer, ako želite više web stranica na istom Apache poslužitelju, postavite svoju .htaccess datoteku u korijenski direktorij weba koji je mapiran s tom web stranicom. |
Ako ste slijedili gore navedeni preduvjet, dobit ćete web root direktorij na /var/www/my_domain/.htaccess. Zatim stvorite .htaccess datoteku za svoju web stranicu pomoću:
|
1 |
$ sudo nano /var/www/your_domain/.htaccess |
Nakon što pripremimo našu .htaccess datoteku, pogledajmo neke od njezinih primjera upotrebe.
Korak 3 — Uobičajene upotrebe .htaccess datoteke

Korištenje .htaccess stranice na vašem web-mjestu donosi niz prednosti. Raspravimo o svakoj detaljno:
-
Preusmjeravanje URL-ova
Preusmjeravanje URL-a, koje se naziva i prosljeđivanje URL-a, funkcija je web poslužitelja koja se koristi za preusmjeravanje posjetitelja domene na drugi URL. Možete koristiti .htaccess za svoje potrebe preusmjeravanja URL-ova. Dodajte sljedeće u svoju .htaccess datoteku kako biste mapirali izvorni URL na ciljani URL:
|
1 2 3 4 |
RewriteEngine on RewriteCond %{HTTP_HOST} ^testdomain.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.testdomain.com [NC] RewriteRule ^(.*)$ http://demodomain.com/$1 [L,R=301,NC] |
-
Stvaranje prilagođenih stranica s pogreškama
Korisna strana .htaccess datoteke je stvaranje prilagođene stranice s pogreškom. Općenito, kada korisnik naiđe na stranicu koja ne postoji na web stranici, na zaslonu se pojavljuje poruka o pogrešci. Neki od uobičajenih HTTP kodova pogrešaka uključuju:
-
400 Neispravan zahtjev
-
401 Neautorizirano
-
403 Zabranjeno
-
404 Nije pronađeno
-
500 Interna pogreška poslužitelja
-
502 Loš gateway
-
503 Usluga nedostupna
Za razliku od zadane pogreške poslužiteljske stranice „Stranica nije pronađena”, iskoristite .htaccess datoteku kako biste svojim korisnicima pružili poboljšano korisničko iskustvo pregledavanja.
-
Postavljanje sigurnosne provjere autentičnosti
Pomoću .htaccess datoteke također možete postaviti sigurnosnu provjeru autentičnosti. Za to trebate stvoriti .htpasswd datoteku za provjeru autentičnosti korisnika.
Koristite htpasswd naredbu za stvaranje datoteke s lozinkama u sigurnosne svrhe. Apache će koristiti ovu datoteku s lozinkama za provjeru autentičnosti verificiranih korisnika. Idite u /etc/apache2 direktorij i stvorite povjerljivu datoteku pod nazivom .htpasswd.
Za stvaranje potrebne .htpasswd datoteke, koristite -c opciju kada prvi put koristite ovaj uslužni program za sigurnost lozinke. Zatim navedite korisničko ime na kraju naredbe kako biste ispisali novi unos unutar datoteke. Nakon toga zamijenite korisničko ime nick (korišteno u ovom vodiču) sa svojim korisničkim imenom:
|
1 |
$ sudo htpasswd -c /etc/apache2/.htpasswd nick |
Zatim će se od vas tražiti da unesete i potvrdite korisnikovu lozinku.
Nastavite čitati ovaj vodič kako biste saznali više o postavljanju i konfiguriranju autentifikacije lozinkom s Apacheom na sustavu Ubuntu 20.04.
-
Dodaj MIME tipove
Klasifikacija datoteka koje se koriste na internetu jednostavna je uz pomoć Multi-Purpose Internet Mail Extensions (MIME) tipa. U nekoliko scenarija u kojima web stranica ne uspije isporučiti određenu datoteku, dodavanje proširenja rješava problem. Upotrijebite sljedeći kod za dodavanje Multipurpose Internet Mail Extensions (MIME) tipova na svoj Apache poslužitelj u .htaccess datoteku:
|
1 |
AddType audio/mp4a-latm .m4a |
|
Napomena: U našem vodiču imamo MIME tip audio datoteke. Zamijenite aplikaciju i proširenje datoteke sa svojim ciljanim MIME tipom. Osim toga, osigurajte da konfiguracija virtualnog domaćina i direktorij lokacije .htaccess datoteke mogu koristiti AddType direktivu. U suprotnom ćete dobiti 500 Internal Server Error. |
-
Server Side Includes (SSI)
SSI su direktive koje isporučuju dinamički sadržaj na HTML stranicu. Koriste se za ažuriranje velikog broja stranica određenim podacima bez potrebe za eksplicitnim ažuriranjem svake stranice.
U HTML datotekama, Server Side Includes (SSI) je prema zadanim postavkama onemogućen. Dodajte sljedeći kod u svoju .htaccess datoteku kako biste omogućili SSI:
|
1 2 |
AddType text/html .shtml AddHandler server-parsed .shtml</pre> |
Gornji redovi najprije potvrđuju .shtml datoteke. Potvrda se zatim šalje u .htaccess datoteku dok se poslužitelju omogućuje raščlanjivanje svih .shtml datoteka.
Alternativno, možete koristiti XBitHack za raščlanjivanje više .html sadržaja umjesto preimenovanja .shtml proširenja jedno po jedno. Dodajte sljedeći redak u .htaccess datoteku kako biste koristili XbitHAck i zatražili od Apachea da provjeri sve .html datoteke:
|
1 |
XBitHack on |
Zatim trebate promijeniti dopuštenje kako biste omogućili stranici korištenje XBitHack. Upotrijebite sljedeću chmod naredbu da biste to učinili:
|
1 |
$ chmod +x pagename.html |
-
Upravljanje IP adresom
Ponekad biste iz sigurnosnih razloga mogli htjeti blokirati IP adresu ili raspon IP adresa koje posjećuju vašu stranicu. Umetnite sljedeće retke koda u svoju .htaccess datoteku kako biste ograničili ciljanu IP adresu:
|
1 |
Order Deny, Allow Deny from A.A.A.A (gdje A.A.A.A je jedna određena IPv4 adresa) |
Koristite zaseban redak za blokiranje više od jedne IP adrese:
|
1 |
Order Deny Allow Deny from A.A.A.A (gdje A.A.A.A je jedna određena IPv4 adresa) Deny from B.B.B.B (gdje B.B.B.B je jedna određena IPv4 adresa) |
Osim toga, možete blokirati domene da pristupaju vašoj web stranici. Ograničite određenu domenu dodavanjem sljedećeg retka koda u .htaccess datoteku:
Order Deny, Allow Deny from www.blockdomain.com (gdje je www.blockdomain.com određena domena)
Rizici korištenja .htaccess
Dodavanje
.htaccess datoteke je neosporno pametan potez za konfiguraciju vaše web stranice i njezino prilagođavanje korisnicima. Međutim, sve izmjene napravljene u konfiguracijskim postavkama dolaze s drugim popratnim troškovima. Pogledajmo neke uvjerljive razloge koji sugeriraju zašto ne biste trebali koristiti
.htaccess datoteku:
i. Gubitak performansi: Svaki put kada poslužitelj skenira direktorij stranice i njezinu .htaccess datoteku, stranica se učitava. Kao rezultat toga, gubitak brzine i performansi postaje primarna briga.
ii. Sigurnost: Pristup .htaccess datotekama daje potpunu kontrolu nad konfiguracijom poslužitelja. To znači da svaki neovlašteni korisnik koji dobije .htaccess pristup .htaccess datoteci, što pak dovodi do potencijalnih sigurnosnih rizika.
iii. Pristupačnost: .htaccess datotekama se mora rukovati s najvećom pažnjom i oprezom. Ako postoje bilo kakve pogreške u .htaccess datoteci, to može srušiti cijelu web stranicu.
Zaključak
U ovom vodiču dobili smo sveobuhvatnu predodžbu o omogućavanju, stvaranju i korištenju .htaccess datoteke. Raspravljali smo o slučaju upotrebe kada i gdje se .htaccess datoteka mora koristiti. Iskoristite .htaccess datoteke kako biste osigurali svoju web stranicu i zaštitili je od napada. Međutim, postoji nekoliko zamki korištenja ove konfiguracijske datoteke koje se ne smiju zanemariti. Ukratko, koristite .htaccess datoteke ovisno o upotrebi vašeg poslužitelja i potrebama pristupa korisnika.
Nadalje, postoje i drugi mrežni vodiči koje možete pronaći na našem blogu:
-
Konfiguriranje osnovne HTTP autentifikacije s Nginxom na Ubuntu 20.04
-
Nginx HTTP proksiranje, balansiranje opterećenja, međuspremanje i predmemoriranje: pregled
Komentari
Još nema komentara. Budite prvi.