Soubor .htaccess file nebo distribuovaný konfigurační soubor je robustní soubor používaný k řízení a správě konfigurací webových stránek. Všechny změny konfigurace se provádějí na úrovni jednotlivých adresářů, aby se zajistilo, že hlavní konfigurační soubory serveru nebudou narušeny.
Kdy je preferováno použití souboru .htaccess
Ať už chcete načítat chybové stránky nebo implementovat zabezpečení heslem, .htaccess má celou řadu využití. Mezi nejběžnější příklady patří:
-
Přidání přesměrování pro konkrétní URL nebo seznam URL.
-
Povolení ochrany heslem pro určité adresáře na serveru.
-
Načítání vlastních chybových stránek.
-
Vynucení použití HTTPS namísto HTTP na webu.
-
Blokování cílených IP adres nebo domén.
V tomto návodu vás provedeme kroky k povolení, vytvoření a použití souboru .htaccess.
Požadavky
Chcete-li postupovat podle tohoto návodu, musíte mít následující:
-
Na vašem systému je nainstalována nejnovější verze Ubuntu.
-
Webový server Apache musí být nainstalován na vašem serveru Ubuntu.
-
Nastavený virtuální hostitel Apache pro vaši doménu.
-
Uživatelé systému musí mít oprávnění sudo.
-
Zabezpečený virtuální hostitel pomocí SSL.
-
Postupujte podle návodu Zabezpečení Apache pomocí Let’s Encrypt na Ubuntu 18.04, pokud konfigurujete a zabezpečujete Apache pomocí své vlastní domény.
-
Případně můžete Vytvořit SSL certifikát s vlastním podpisem pro Apache v Ubuntu 20.04, pokud hodláte Apache používat pro testovací účely.
-
|
Poznámka: Existuje mnoho poskytovatelů domén, u kterých můžete zvážit nákup vlastních domén online. Namecheap, Freenom, a Bluehost, abychom jmenovali alespoň některé, jsou známí svými výjimečnými službami. |
Jakmile dokončíte počáteční nastavení, přihlaste se k serveru jako uživatel sudo a můžeme začít.
Krok 1 — Povolení souboru .htaccess
Ve výchozím nastavení je soubor .htaccess zakázán. Nejprve musíme změnit konfiguraci Apache a povolit soubor .htaccess.
Otevřete soubor virtuálního hostitele apache2/sites-available/your_domain.conf pomocí editoru nano nebo jiného preferovaného textového editoru:
|
1 |
$ sudo nano /etc/apache2/sites-available/your_domain.conf |
Za předpokladu, že máte připravené nastavení popsané v návodu pro webový server Apache guide, najdete v něm následující podrobnosti o konfiguraci:
|
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> |
Dále vložte následující 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> |
Ve výše uvedeném bloku kódu je řádek AllowOverride All v sekci Directory tou nejvýznamnější ze všech. Tato sekce umožňuje použití souborů .htaccess.
Poté uložte svou práci a zavřete soubor. Pokud používáte textový editor nano, použijte klávesovou zkratku CTRL + X, Y, a ENTER pro zavření souboru.
Před restartováním webového serveru zkontrolujte konfiguraci:
|
1 |
$ sudo apache2ctl configtest |
Pokud je vše v pořádku, jako výstup uvidíte Syntax OK. Nyní restartujte server, abyste uplatnili své zásady hesel:
|
1 |
$ sudo systemctl restart apache2 |
Jakmile jsou povolena nastavení souboru .htaccess, je čas vytvořit nový soubor.
Krok 2 — Vytvoření souboru .htaccess
Vytvoření souboru .htaccess je jednoduché. Musíte přejít do kořenového adresáře webu, tj. zdroje, abyste našli soubor .htaccess a zajistili, že změny konfigurace budou správně provedeny.
|
Poznámka: Při vyhledávání souboru .htaccess buďte opatrní. Drobná chyba v konfiguraci by mohla nepříznivě ovlivnit tento adresář a adresáře následující. Pokud například plánujete provozovat více webů na stejném serveru Apache, umístěte svůj soubor .htaccess do kořenového adresáře webu, který je s daným webem propojen. |
Pokud jste postupovali podle výše uvedených požadavků, získáte webový root adresář v /var/www/my_domain/.htaccess. Dále vytvořte soubor .htaccess pro svůj web pomocí:
|
1 |
$ sudo nano /var/www/your_domain/.htaccess |
Jakmile máme náš soubor .htaccess připravený, podívejme se na některé z jeho případů použití.
Krok 3 — Běžná použití souboru .htaccess

Používání souboru .htaccess na vašem webu přináší řadu výhod. Pojďme si každou z nich podrobně probrat:
-
Přesměrování URL
Přesměrování URL označované také jako předávání URL, je funkce webového serveru používaná k přesměrování návštěvníka domény na jinou URL. Pro své potřeby přesměrování URL můžete použít .htaccess. Přidejte do svého souboru .htaccess následující kód pro namapování zdrojové URL na cílovou 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] |
-
Vytvoření vlastních chybových stránek
Užitečným aspektem souboru .htaccess je možnost vytvořit si vlastní chybovou stránku. Obecně platí, že když uživatel narazí na stránku, která na webu neexistuje, zobrazí se na obrazovce chybová zpráva. Mezi běžné chybové kódy HTTP patří:
-
400 Bad Request
-
401 Unauthorization
-
403 Forbidden
-
404 Not Found
-
500 Internal Server Error
-
502 Bad Gateway
-
503 Service Unavailable
Na rozdíl od výchozí chybové stránky serveru „Stránka nenalezena“ můžete použít soubor .htaccess k tomu, abyste svým uživatelům poskytli lepší a uživatelsky přívětivější zážitek z prohlížení.
-
Nastavení bezpečnostního ověřování
Pomocí souboru .htaccess můžete také nastavit bezpečnostní ověřování. K tomu je třeba vytvořit soubor .htpasswd pro ověřování uživatelů.
Použijte příkaz htpasswd k vytvoření souboru s hesly pro bezpečnostní účely. Apache použije tento soubor s hesly k ověření registrovaných uživatelů. Přejděte do adresáře /etc/apache2 a vytvořte důvěrný soubor s názvem .htpasswd.
Chcete-li vytvořit potřebný soubor .htpasswd, použijte -c volbu při prvním použití tohoto nástroje pro zabezpečení heslem. Dále na konci příkazu zadejte uživatelské jméno, abyste v souboru vytvořili nový záznam. Poté nahraďte uživatelské jméno nick (použité v tomto návodu) svým uživatelským jménem:
|
1 |
$ sudo htpasswd -c /etc/apache2/.htpasswd nick |
Poté budete požádáni o zadání a ověření hesla uživatele.
Pokračujte ve čtení tohoto návodu, abyste se dozvěděli více o nastavení a konfiguraci ověřování heslem v Apache na Ubuntu 20.04.
-
Přidání typů MIME
Klasifikace souborů používaných na internetu je snadná díky Multi-Purpose Internet Mail Extensions (MIME). V několika scénářích, kdy webová stránka nedokáže doručit konkrétní soubor, pomůže přidání přípon. Pomocí následujícího kódu přidejte typy Multipurpose Internet Mail Extensions (MIME) na svůj server Apache do souboru .htaccess :
|
1 |
AddType audio/mp4a-latm .m4a |
|
Poznámka: V našem návodu máme typ MIME pro audio soubor. Nahraďte aplikaci a příponu souboru cílovým typem MIME. Dále se ujistěte, že konfigurace virtuálního hostitele a adresář s umístěním souboru .htaccess mohou používat direktivu AddType. V opačném případě se zobrazí 500 Internal Server Error. |
-
Server Side Includes(SSI)
SSI jsou direktivy, které poskytují dynamický obsah HTML stránce. Používají se k aktualizaci velkého počtu stránek o konkrétní data bez nutnosti explicitně aktualizovat každou stránku zvlášť.
V souborech HTML je Server Side Includes (SSI) ve výchozím nastavení zakázán. Přidejte následující kód do svého souboru .htaccess pro povolení SSI:
|
1 2 |
AddType text/html .shtml AddHandler server-parsed .shtml</pre> |
Výše uvedené řádky nejprve ověří soubory .shtml. Potvrzení je poté odesláno do souboru .htaccess, přičemž serveru je umožněno analyzovat všechny soubory .shtml.
Případně můžete použít XBitHack k analýze více .html obsahů namísto přejmenovávání přípon .shtml jednu po druhé. Přidejte následující řádek do souboru .htaccess pro použití XbitHAck a požádejte Apache o kontrolu všech souborů .html:
|
1 |
XBitHack on |
Dále musíte změnit oprávnění, aby stránka splňovala podmínky pro použití XBitHack. K tomu použijte následující příkaz chmod:
|
1 |
$ chmod +x pagename.html |
-
Správa IP adres
Někdy můžete z bezpečnostních důvodů chtít zablokovat IP adresu nebo rozsah IP adres navštěvujících váš web. Vložte následující řádky kódu do svého souboru .htaccess pro omezení cílové IP adresy:
|
1 |
Order Deny, Allow Deny from A.A.A.A (kde A.A.A.A je jedna konkrétní IPv4 adresa) |
Pro zablokování více než jedné IP adresy použijte samostatný řádek:
|
1 |
Order Deny Allow Deny from A.A.A.A (kde A.A.A.A je jedna konkrétní IPv4 adresa) Deny from B.B.B.B (kde B.B.B.B je jedna konkrétní IPv4 adresa) |
Kromě toho můžete zablokovat přístup domén k vašemu webu. Omezte konkrétní doménu přidáním následujícího řádku kódu do souboru .htaccess :
Order Deny, Allow Deny from www.blockdomain.com (kde www.blockdomain.com je konkrétní doména)
Rizika používání .htaccess
Přidání souboru
.htaccess je nepochybně chytrým krokem ke konfiguraci vašeho webu a jeho uživatelské přívětivosti. Jakékoli úpravy provedené v nastavení konfigurace však s sebou nesou další náklady. Podívejme se na několik pádných důvodů, proč byste soubor
.htaccess neměli používat:
i. Ztráta výkonu: Pokaždé, když server skenuje adresář stránky a její soubor .htaccess, stránka se načítá. V důsledku toho se ztráta rychlosti a výkonu stává hlavním problémem.
ii. Bezpečnost: Přístup k souborům .htaccess poskytuje plnou kontrolu nad konfigurací serveru. To znamená, že jakýkoli neoprávněný uživatel, který získá přístup k .htaccess přístup k .htaccess souboru, což následně vede k potenciálním bezpečnostním rizikům.
iii. Přístupnost: Soubory .htaccess musí být spravovány s nejvyšší opatrností a pozorností. Pokud se v souboru .htaccess vyskytnou nějaké chyby, může to shodit celý web.
Závěr
V tomto návodu jsme získali ucelenou představu o povolení, vytvoření a použití souboru .htaccess. Diskutovali jsme o případech použití, kdy a kde musí být soubor .htaccess použit. Využijte soubory .htaccess k zabezpečení vašeho webu a jeho ochraně před útoky. Používání tohoto konfiguračního souboru má však několik úskalí, která nesmíte ignorovat. Stručně řečeno, používejte soubory .htaccess v závislosti na využití vašeho serveru a potřebách přístupu uživatelů.
Kromě toho existují další návody na síťové nastavení, které najdete na našem blogu:
-
Konfigurace základního ověřování HTTP pomocí Nginx na Ubuntu 20.04
-
Nginx HTTP proxyování, vyrovnávání zátěže, buffering a caching: přehled
Komentáře
Zatím žádné komentáře. Buďte první.