Súbor .htaccess file alebo distribuovaný konfiguračný súbor je robustný súbor používaný na kontrolu a správu konfigurácií webovej lokality. Všetky zmeny konfigurácie sa vykonávajú na úrovni jednotlivých adresárov, aby sa zabezpečilo, že hlavné konfiguračné súbory servera zostanú nedotknuté.
Kedy je preferované použiť súbor .htaccess
Či už chcete načítať chybové stránky alebo implementovať zabezpečenie heslom, .htaccess má celý rad využití. Medzi najbežnejšie príklady patria:
-
Pridanie presmerovaní pre konkrétnu URL adresu alebo zoznam URL adries.
-
Povolenie ochrany heslom pre určité adresáre na serveri.
-
Načítanie vlastných chybových stránok.
-
Vynútenie používania HTTPS namiesto HTTP na webe.
-
Blokovanie cielených IP adries alebo domén.
V tomto návode vás prevedieme krokmi na povolenie, vytvorenie a používanie súboru .htaccess.
Požiadavky
Na absolvovanie tohto návodu musíte mať nasledujúce:
-
Najnovšia verzia systému Ubuntu je nainštalovaná na vašom systéme.
-
Webový server Apache musí byť nainštalovaný na vašom serveri Ubuntu.
-
Nastavený virtuálny hostiteľ Apache pre vašu doménu.
-
Používatelia systému musia mať oprávnenia sudo.
-
Zabezpečený virtuálny hostiteľ pomocou SSL.
-
Postupujte podľa Zabezpečenie Apache pomocou Let’s Encrypt na Ubuntu 18.04 ak konfigurujete a zabezpečujete Apache pomocou vašej vlastnej domény.
-
Prípadne môžete Vytvoriť self-signed SSL certifikát pre Apache v Ubuntu 20.04 ak plánujete používať Apache na testovacie účely.
-
|
Poznámka: Existuje mnoho poskytovateľov domén, u ktorých môžete zvážiť kúpu vlastných domén online. Namecheap, Freenom, a Bluehost, aby sme menovali aspoň niektoré, sú známe svojimi výnimočnými službami. |
Po dokončení počiatočného nastavenia sa prihláste na svoj server ako používateľ sudo a môžeme začať.
Krok 1 — Povolenie súboru .htaccess
V predvolenom nastavení je súbor .htaccess zakázaný. Najprv musíme zmeniť konfiguráciu Apache a povoliť súbor .htaccess .
Otvorte súbor virtuálneho hostiteľa apache2/sites-available/your_domain.conf pomocou editora nano alebo iného preferovaného textového editora:
|
1 |
$ sudo nano /etc/apache2/sites-available/your_domain.conf |
Za predpokladu, že máte pripravené nastavenie popísané v návode pre Apache web server guide, nájdete nasledujúce podrobnosti o konfigurácii:
|
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> |
Ďalej vložte nasledujúci obsah Directory do bloku VirtualHost :
|
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> |
Vo vyššie uvedenom bloku kódu riadok AllowOverride All v sekcii Directory je najdôležitejšia zo všetkých. Táto sekcia umožňuje používanie súborov .htaccess.
Potom uložte svoju prácu a zatvorte súbor. Ak používate textový editor nano, použite klávesovú skratku CTRL + X, Y, a ENTER na zatvorenie súboru.
Pred reštartovaním webového servera skontrolujte konfiguráciu:
|
1 |
$ sudo apache2ctl configtest |
Uvidíte Syntax OK ako výstup, ak je všetko v poriadku. Teraz reštartujte server, aby ste pridali svoje pravidlá pre heslá:
|
1 |
$ sudo systemctl restart apache2 |
Po povolení nastavení súboru .htaccess je čas vytvoriť nový súbor.
Krok 2 — Vytvorenie súboru .htaccess
Vytvorenie súboru .htaccess je jednoduché. Musíte prejsť do koreňového adresára webu, t. j. zdroja, a nájsť súbor .htaccess, aby ste sa uistili, že zmeny konfigurácie sa správne vykonajú.
|
Poznámka: Pri umiestňovaní súboru .htaccess buďte opatrní. Drobná chyba v konfigurácii by mohla nepriaznivo ovplyvniť tento adresár a adresáre, ktoré po ňom nasledujú. Ak napríklad plánujete mať viacero webových stránok na tom istom serveri Apache, umiestnite súbor .htaccess do koreňového adresára webu priradeného k danej webovej stránke. |
Ak ste splnili vyššie uvedené požiadavky, koreňový adresár webu nájdete na root v /var/www/my_domain/.htaccess. Ďalej vytvorte súbor .htaccess pre váš web pomocou:
|
1 |
$ sudo nano /var/www/your_domain/.htaccess |
Keď máme súbor .htaccess pripravený, pozrime sa na niektoré z možností jeho využitia.
Krok 3 — Bežné spôsoby použitia súboru .htaccess

Používanie súboru .htaccess na vašom webe prináša rad výhod. Poďme si každú z nich podrobne rozobrať:
-
Presmerovanie URL adries
Presmerovanie URL, označované aj ako odovzdávanie URL, je funkcia webového servera používaná na presmerovanie návštevníka domény na inú URL adresu. Na presmerovanie URL môžete použiť .htaccess. Do súboru .htaccess pridajte nasledujúce riadky na priradenie zdrojovej URL adresy k cieľovej URL adrese:
|
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] |
-
Vytvorenie vlastných chybových stránok
Užitočným aspektom súboru .htaccess je možnosť vytvoriť vlastnú chybovú stránku. Vo všeobecnosti platí, že keď používateľ narazí na stránku, ktorá na webe neexistuje, na obrazovke sa zobrazí chybové hlásenie. Medzi bežné chybové kódy HTTP patria:
-
400 Bad Request
-
401 Unauthorization
-
403 Forbidden
-
404 Not Found
-
500 Internal Server Error
-
502 Bad Gateway
-
503 Service Unavailable
Na rozdiel od predvolenej chybovej stránky servera „Stránka nebola nájdená“ využite súbor .htaccess, aby ste svojim používateľom poskytli lepšie a používateľsky prívetivejšie prehliadanie.
-
Nastavenie bezpečnostného overovania
Pomocou súboru .htaccess môžete nastaviť aj bezpečnostné overovanie. Na tento účel musíte vytvoriť súbor .htpasswd na overovanie používateľov.
Použite príkaz htpasswd na vytvorenie súboru s heslami z bezpečnostných dôvodov. Apache použije tento súbor s heslami na overenie overených používateľov. Prejdite do adresára /etc/apache2 a vytvorte dôverný súbor s názvom .htpasswd.
Na vytvorenie potrebného súboru .htpasswd, použite -c možnosť pri prvom použití tohto nástroja na zabezpečenie hesiel. Potom zadajte používateľské meno na konci príkazu, aby ste pridali nový záznam do súboru. Potom nahraďte používateľské meno nick (použité v tomto návode) vaším používateľským menom:
|
1 |
$ sudo htpasswd -c /etc/apache2/.htpasswd nick |
Potom budete požiadaní o zadanie a overenie hesla používateľa.
Pokračujte v čítaní tohto návodu a dozviete sa viac o nastavení a konfigurácii overovania hesiel pomocou Apache na Ubuntu 20.04.
-
Pridať typy MIME
Klasifikácia súborov používaných na internete je jednoduchá pomocou Multi-Purpose Internet Mail Extensions (MIME) typov. V niekoľkých scenároch, kedy webová stránka nedokáže doručiť konkrétny súbor, pomôže pridanie prípon. Pomocou nasledujúceho kódu pridajte typy Multipurpose Internet Mail Extensions (MIME) na váš server Apache v súbore .htaccess :
|
1 |
AddType audio/mp4a-latm .m4a |
|
Note: V našom návode máme typ MIME pre audio súbor. Nahraďte aplikáciu a príponu súboru vaším cieľovým typom MIME. Okrem toho sa uistite, že konfigurácia virtuálneho hostiteľa a adresár umiestnenia súboru .htaccess môžu používať direktívu AddType. V opačnom prípade sa zobrazí 500 Internal Server Error. |
-
Server Side Includes(SSI)
SSI sú direktívy, ktoré poskytujú dynamický obsah HTML stránke. Používajú sa na aktualizáciu veľkého počtu stránok s určitými špecifickými údajmi bez potreby explicitnej aktualizácie každej stránky.
V súboroch HTML je Server Side Includes SSI predvolene zakázaný. Pridajte nasledujúci kód do vášho súboru .htaccess na povolenie SSI:
|
1 2 |
AddType text/html .shtml AddHandler server-parsed .shtml</pre> |
Vyššie uvedené riadky najprv overia súbory .shtml. Potvrdenie sa potom odošle do súboru .htaccess, pričom serveru umožní analyzovať všetky súbory .shtml files.
Prípadne môžete použiť XBitHack na analýzu viacerých obsahov .html namiesto premenovávania prípon .shtml po jednej. Pridajte nasledujúci riadok do súboru .htaccess, aby ste mohli použiť XbitHAck a požiadať Apache o kontrolu všetkých súborov .html :
|
1 |
XBitHack on |
Ďalej musíte zmeniť oprávnenia, aby stránka spĺňala podmienky na používanie XBitHack. Použite na to nasledujúci príkaz chmod :
|
1 |
$ chmod +x pagename.html |
-
Správa IP adries
Niekedy môžete z bezpečnostných dôvodov chcieť zablokovať IP adresu alebo rozsah IP adries navštevujúcich vašu stránku. Vložte nasledujúce riadky kódu do vášho súboru .htaccess, aby ste obmedzili cieľovú IP adresu:
|
1 |
Order Deny, Allow Deny from A.A.A.A (kde A.A.A.A je jedna konkrétna IPv4 adresa) |
Na zablokovanie viac ako jednej IP adresy použite samostatný riadok:
|
1 |
Order Deny Allow Deny from A.A.A.A (kde A.A.A.A je jedna konkrétna IPv4 adresa) Deny from B.B.B.B (kde B.B.B.B je jedna konkrétna IPv4 adresa) |
Okrem toho môžete doménam zablokovať prístup na vašu webovú stránku. Obmedzte konkrétnu doménu pridaním nasledujúceho riadku kódu do súboru .htaccess :
Order Deny, Allow Deny from www.blockdomain.com (kde www.blockdomain.com je konkrétna doména)
Riziká používania .htaccess
Pridanie súboru
.htaccess je nepochybne rozumným krokom na konfiguráciu vašej webovej stránky a jej prispôsobenie používateľom. Akékoľvek úpravy vykonané v nastaveniach konfigurácie však prinášajú aj iné nevýhody. Pozrime sa na niekoľko presvedčivých dôvodov, prečo by ste nemali používať súbor
.htaccess :
i. Strata výkonu: Vždy, keď server skenuje adresár stránky a jej súbor .htaccess, stránka sa načíta. V dôsledku toho sa hlavným problémom stáva strata rýchlosti a výkonu.
ii. Bezpečnosť: Prístup k súborom .htaccess poskytuje plnú kontrolu nad konfiguráciou servera. To znamená, že akýkoľvek neoprávnený používateľ, ktorý získa prístup k .htaccess prístup k .htaccess súboru, čo zase vedie k potenciálnym bezpečnostným rizikám.
iii. Prístupnosť: Súbory .htaccess sa musia spracovávať s maximálnou opatrnosťou a pozornosťou. Ak sa v súbore .htaccess vyskytnú nejaké chyby, môže to znefunkčniť celú webovú lokalitu.
Záver
V tejto príručke sme získali komplexnú predstavu o povolení, vytvorení a používaní .htaccess súboru. Diskutovali sme o prípadoch použitia, kedy a kde sa musí .htaccess súbor použiť. Využite .htaccess súbory na zabezpečenie svojej webovej lokality a jej ochranu pred útokmi. Používanie tohto konfiguračného súboru má však niekoľko úskalí, ktoré netreba ignorovať. Stručne povedané, používajte .htaccess súbory v závislosti od využitia vášho servera’ a potrieb prístupu používateľov.
Okrem toho existujú ďalšie návody na sieťové nastavenia, ktoré nájdete na našom blogu:
-
Konfigurácia základného overovania HTTP pomocou Nginx na Ubuntu 20.04
-
Nginx HTTP proxying, vyvažovanie záťaže, ukladanie do vyrovnávacej pamäte a caching: prehľad
Komentáre
Zatiaľ žiadne komentáre. Buďte prvý.