Co je .htaccess a k čemu slouží?

Soubor .htaccess je speciální konfigurační soubor na webových serverech Apache, který umožňuje nastavovat pravidla pro webové stránky, například přesměrování, zabezpečení nebo optimalizaci. Více v článku.

🔧 Co je .htaccess a k čemu slouží?

Soubor .htaccess (důležité: začíná tečkou) je konfigurační soubor používaný na webových serverech, které běží na Apache HTTP Serveru. Tento soubor umožňuje nastavovat důležitá pravidla a chování webu bez přístupu k hlavní serverové konfiguraci.

Díky .htaccess může správce webu snadno upravovat fungování stránek – například přesměrovávat návštěvníky, omezovat přístup, zlepšovat bezpečnost nebo optimalizovat výkon webu. Vše pomocí několika jednoduchých řádků kódu.


📁 Kam se .htaccess umisťuje?

Soubor .htaccess se obvykle umisťuje do kořenového adresáře webu, tedy tam, kde se nachází např. index.php, wp-content (u WordPressu) nebo jiné hlavní soubory.

Je však možné umístit ho i do jakékoliv podadresáře – jeho nastavení se pak vztahuje pouze na danou složku a její podadresáře. To umožňuje velmi jemné ladění přístupu nebo pravidel pro různé části webu.

⚠️ Pozor: Některé hostingy mají úpravu .htaccess omezenou nebo ji vůbec nepodporují. Před změnami si ověřte, že vaše hostingová služba .htaccess plně podporuje.


✍️ Jak .htaccess upravit?

Soubor .htaccess můžete upravit pomocí libovolného textového editoru (např. Poznámkový blok, VS Code, Sublime Text apod.). Po uložení změn se nové nastavení projeví okamžitě, bez nutnosti restartu serveru.

Pokud soubor .htaccess ve svém webovém adresáři nevidíte, může být skrytý. V takovém případě je potřeba v nastavení FTP klienta (např. FileZilla) zapnout zobrazování skrytých souborů.


⚙️ Co lze v .htaccess nastavit?

Soubor .htaccess je velmi univerzální a umožňuje nastavit mnoho užitečných funkcí. Zde jsou nejčastější z nich:

🔁 Přesměrování stránek (redirects)

Například přesměrování z HTTP na HTTPS:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.vasedomena.cz/$1 [R=301,L]

🚫 Omezení přístupu podle IP adresy

Zablokování přístupu z konkrétní IP:

Order Deny,Allow
Deny from 192.168.1.1

🔐 Zaheslování složek

Omezení přístupu pomocí jména a hesla:

AuthType Basic
AuthName "Chráněná oblast"
AuthUserFile /cesta/k/.htpasswd
Require valid-user

⚠️ Vlastní chybové stránky

Např. vlastní 404 stránka:

ErrorDocument 404 /404.html

Zapnutí Gzip komprese

Zrychlení načítání webu pomocí komprese:

AddOutputFilterByType DEFLATE text/html text/css text/javascript

💾 Cachování statického obsahu

Zlepšení výkonu webu a SEO:

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
</IfModule>

🔗 Nastavení URL přepisů (permalinky)

Například přepis URL pro čisté odkazy:

RewriteEngine On
RewriteRule ^clanek/([0-9]+)$ detail.php?id=$1 [L]

🛑 Upozornění

  • Chybný zápis v .htaccess může způsobit nefunkčnost celého webu. Proto před úpravami vždy udělejte zálohu!
  • Ne všechny příkazy fungují univerzálně – některé moduly (např. mod_rewrite, mod_expires) musí být na serveru povoleny.
  • V případě chyby se často zobrazí „Internal Server Error (500)“, což signalizuje problém v zápisu.

📌 Shrnutí

.htaccess je silný nástroj pro správu chování webu na serverech Apache. Umožňuje přesměrování, ochranu, optimalizaci a přizpůsobení webu bez potřeby hlubších serverových zásahů. Pokud jej správně využijete, výrazně zlepšíte bezpečnost, výkon i SEO svého webu.