Přejít k obsahu
BeoHosting
BeoHosting
Technické

Průvodce souborem .htaccess

BeoHosting Team··10 min čtení čtení
Průvodce souborem .htaccess

Co je soubor .htaccess?

.htaccess (Hypertext Access) je konfigurační soubor pro webové servery Apache a LiteSpeed. U BeoHostingu ho upravujete přes ovládací panel cPanel. Nachází se v kořenovém adresáři vašeho webu a umožňuje řídit chování serveru na úrovni adresáře – bez přístupu k hlavní konfiguraci serveru. To z něj dělá nesmírně užitečný nástroj na sdíleném hostingu, kde nemáte přístup k httpd.conf.

Tečka na začátku názvu znamená, že je soubor na systémech Linux/Unix skrytý. Někteří FTP klienti a správci souborů ho ve výchozím nastavení nezobrazují – zkontrolujte volbu pro zobrazení skrytých souborů. V cPanelu má Správce souborů v nastavení možnost „Show Hidden Files“.

Kde se .htaccess nachází?

Hlavní soubor .htaccess je v kořenovém adresáři vašeho webu (public_html nebo htdocs). Pravidla v něm platí pro všechny soubory a podadresáře. Můžete mít další soubory .htaccess v podadresářích s pravidly specifickými pro daný adresář – ta přepíší pravidla z nadřazeného .htaccess pro soubory v tomto adresáři.

Přesměrování

Trvalé přesměrování 301

Přesměrování 301 říká vyhledávačům, že stránka byla trvale přesunuta na novou adresu. Hodnota pro SEO (link juice) se přenese na novou URL. Použijte ho při změně struktury URL, přesunu webu na novou doménu nebo sloučení více URL do jedné.

  • Přesměrování jedné stránky: Redirect 301 /old-page /new-page – přesměruje konkrétní cestu na novou.
  • Přesměrování celé domény: Použijte RewriteRule s podmínkou HTTP_HOST pro přesměrování veškerého provozu z jedné domény na druhou.
  • Přesměrování www na non-www: RewriteCond pro HTTP_HOST, která kontroluje předponu www a přesměruje na verzi bez www (nebo naopak).

Dočasné přesměrování 302

Přesměrování 302 je dočasné – říká vyhledávačům, aby si starou URL ponechaly v indexu, protože se stránka může na původní adresu vrátit. Použijte ho u dočasných akcí, A/B testování nebo údržby.

Vynucení HTTPS

Jedním z nejčastějších využití souboru .htaccess je přesměrování HTTP provozu na HTTPS. K tomu potřebujete nainstalovaný SSL certifikát, který umožňuje HTTPS. To je zásadní pro bezpečnost webu i pro SEO pozice. Pravidlo využívá RewriteCond ke kontrole, zda už spojení probíhá přes HTTPS (pomocí proměnné HTTPS nebo hlavičky X-Forwarded-Proto), a pokud ne, provede přesměrování 301 na HTTPS verzi stejné URL.

Bezpečnostní pravidla

Ochrana přístupu k citlivým souborům

Zablokujte přístup k souborům, které nemají být veřejně přístupné. Direktiva FilesMatch s regulárními výrazy dokáže zablokovat přístup ke konfiguračním souborům jako .htaccess, .env, wp-config.php, php.ini a podobně. Server vrátí 403 Forbidden, když se k nim někdo pokusí přistoupit.

Vypnutí výpisu adresářů

Volba „Options -Indexes“ zabrání Apachi v zobrazení seznamu souborů v adresáři bez index souboru. Bez této volby může kdokoliv vidět všechny soubory v adresáři pouhým otevřením jeho URL.

Blokování škodlivých botů

Použijte RewriteCond s proměnnou HTTP_USER_AGENT k blokování známých škodlivých botů, scraperů a spamových crawlerů. Pomocí regulárních výrazů můžete zachytit více user-agentů a přesměrovat je na stránku 403 nebo přístup jednoduše zablokovat.

Ochrana proti hotlinkingu

Hotlinking je situace, kdy jiné weby používají vaše obrázky přímo z vašeho serveru a spotřebovávají vaši přenosovou kapacitu. Pravidlo RewriteCond zkontroluje hlavičku HTTP_REFERER a zablokuje požadavky na obrázky (jpg, jpeg, png, gif, svg), které nepřicházejí z vaší domény. Hotlinkované obrázky můžete dokonce přesměrovat na zástupný obrázek s informací, že je hotlinking zablokován.

Cachování

Správně nastavené cachování dramaticky zrychlí váš web pro vracející se návštěvníky. Prohlížeč ukládá soubory lokálně, takže je při každé návštěvě nemusí stahovat znovu.

Nastavení cache podle typu souboru

Pomocí mod_expires řídíte, jak dlouho prohlížeče cachují různé typy souborů:

  • Obrázky (jpg, png, gif, svg, webp): 1 rok – obrázky se mění zřídka.
  • Soubory CSS a JavaScript: 1 měsíc – mění se častěji než obrázky, ale ne denně.
  • Fonty (woff, woff2, ttf): 1 rok – fonty se prakticky nikdy nemění.
  • HTML stránky: Krátká cache nebo žádná – obsah se často aktualizuje.
  • PDF a dokumenty: 1 měsíc – aktualizují se občas.

Komprese GZIP

Komprese GZIP zmenšuje velikost souborů odesílaných do prohlížeče, typicky o 60–80 %. Pomocí mod_deflate komprimujte text/html, text/css, application/javascript, application/json, text/xml a podobné textové formáty. Obrázky nekomprimujte, protože už komprimované jsou.

Vlastní chybové stránky

Místo obecných serverových chyb můžete zobrazit vlastní stránky sladěné se vzhledem vašeho webu, které návštěvníkům pomohou najít to, co hledají.

  • ErrorDocument 404: Stránka zobrazená, když požadovaná stránka neexistuje. Zařaďte vyhledávání na webu, oblíbené odkazy a kontaktní informace.
  • ErrorDocument 403: Zobrazí se, když je přístup zakázán. Vysvětlete proč a nabídněte alternativu.
  • ErrorDocument 500: Interní chyba serveru. Vysvětlete, že je problém dočasný, a nabídněte kontakt na podporu.
  • ErrorDocument 503: Služba nedostupná. Užitečné pro zobrazení stránky údržby s očekávaným časem návratu.

Užitečné snippety pro každodenní použití

Blokování IP adresy

Pomocí direktiv Require (Apache 2.4+) nebo Order/Deny (Apache 2.2) zablokujte konkrétní IP adresy nebo rozsahy. To je užitečné pro blokování známých útočníků nebo nežádoucích návštěvníků.

Ochrana administrace WordPressu

Omezte přístup k adresáři wp-admin a souboru wp-login.php na konkrétní IP adresy. To dramaticky snižuje počet brute-force útoků na váš WordPress. Jako další vrstvu ochrany můžete přidat i HTTP autentizaci.

Nastavení hodnot PHP

Na sdíleném hostingu můžete měnit konfiguraci PHP přes .htaccess pomocí direktiv php_value a php_flag: upload_max_filesize pro velikost uploadu, max_execution_time pro timeout skriptu, memory_limit pro RAM a post_max_size pro velikost POST požadavku.

Přesměrování při údržbě

Když pracujete na webu a chcete návštěvníkům zobrazit stránku údržby, použijte RewriteCond ke kontrole, zda návštěvník přichází z vaší IP (sebe pustíte dál), a všechny ostatní přesměrujte na stránku maintenance.html. Použijte přesměrování 302 (dočasné), nikdy ne 301.

Časté chyby a jejich řešení

  • 500 Internal Server Error: Nejčastější chyba. Obvykle znamená syntaktickou chybu v .htaccess. Zkontrolujte serverové logy (Error Log v cPanelu) pro detaily. Odebírejte pravidla jedno po druhém, dokud nenajdete to problematické.
  • Smyčka přesměrování: Nastává, když se dvě pravidla navzájem přesměrovávají. Pomocí podmínek RewriteCond se smyčce vyhnete (např. zkontrolujte, zda už spojení neběží přes HTTPS, než přesměrujete).
  • Pravidla nefungují: Zkontrolujte, zda je povolený mod_rewrite. Na LiteSpeed pravidla pro Apache obvykle fungují, ale mohou nastat odlišnosti. Ověřte také, že .htaccess má správná oprávnění (644).
  • Problém s UTF-8: Uložte soubor .htaccess v kódování UTF-8 bez BOM (Byte Order Mark). BOM může způsobit neočekávané chování.

Závěr

.htaccess je mocný nástroj, který vám dává kontrolu nad webem na úrovni serveru. Od přesměrování a zabezpečení přes cachování až po vlastní chybové stránky – správná konfigurace dokáže dramaticky zlepšit výkon, bezpečnost i SEO. Před změnami si vždy udělejte zálohu, testujte pravidlo po pravidlu a k diagnostice problémů využívejte serverové logy.

BeoHosting Team

10+ let zkušeností — Specialisté na webhosting a infrastrukturu

  • Web Hosting
  • WordPress Hosting
  • VPS
  • Dedicated Serveri
  • Domeni
  • SSL
  • cPanel
  • LiteSpeed
  • Linux administracija
  • DNS

Naposledy aktualizováno: