Jak nastavit vlastní chybovou stránku 404
Nastavení vlastní stránky pro chybu 404 (a také 403 a 500) pomocí ErrorDocument v souboru .htaccess.
4 minuty čtení 6 kroků
Obsah návodu
Když návštěvník zadá neexistující adresu nebo klikne na zastaralý odkaz, server vrátí chybu 404 a zobrazí strohou výchozí stránku. Vlastní chybová stránka ve vzhledu vašeho webu návštěvníka neodradí a nasměruje ho dál. Nastavíte ji jedním řádkem v souboru .htaccess.
Krok 1: Vytvořte chybovou stránku
Vytvořte obyčejný soubor HTML, například 404.html, a nahrajte ho přes FTP do kořenové složky webu (složka web). Stránka by měla obsahovat:
- srozumitelné sdělení, že stránka neexistuje nebo byla přesunuta,
- odkaz na úvodní stránku a na hlavní části webu (menu),
- případně vyhledávací pole nebo kontakt,
- stejný vzhled (logo, barvy) jako zbytek webu, aby návštěvník poznal, že je stále u vás.
Jednoduchý příklad:
<!DOCTYPE html>
<html lang="cs">
<head>
<meta charset="utf-8">
<title>Stránka nenalezena</title>
</head>
<body>
<h1>Stránka nenalezena (404)</h1>
<p>Stránka, kterou hledáte, neexistuje nebo byla přesunuta.</p>
<p><a href="/">Zpět na úvodní stránku</a></p>
</body>
</html>
Odkazy na chybové stránce pište s absolutní cestou od kořene webu (/, /kontakt/, /obrazky/logo.png), nikoli relativně. Chybová stránka se totiž zobrazuje na libovolné adrese, i v hluboko zanořených složkách, a relativní odkazy by nefungovaly.
Krok 2: Nastavte ErrorDocument v .htaccess
- Připojte se přes FTP (viz Jak se připojit k webhostingu pomocí FTP) a otevřete soubor
.htaccessve složceweb. Pokud neexistuje, vytvořte ho podle návodu Jak vytvořit soubor .htaccess. - Přidejte řádek:
ErrorDocument 404 /404.html - Soubor uložte a nahrajte zpět na server.
Cesta za číslem chyby je vždy od kořene webu a začíná lomítkem. Pokud máte chybovou stránku ve složce, napište například /chyby/404.html. Může jít i o skript PHP (/404.php), který vykreslí stránku dynamicky.
Nezadávejte úplnou adresu s https://. Server by pak návštěvníka na chybovou stránku přesměroval a prohlížeč i vyhledávač by dostal kód 200 místo 404. Vyhledávače by neexistující adresy dál indexovaly.
Vlastní stránky pro chyby 403 a 500
Stejným způsobem nastavíte i další chyby. Chyba 403 znamená zakázaný přístup (např. ke složce bez úvodního souboru nebo k zaheslované části webu), chyba 500 je vnitřní chyba serveru, nejčastěji chyba ve skriptu nebo v .htaccess.
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html
Stránku pro chybu 500 udělejte co nejjednodušší – čisté HTML bez PHP a bez závislosti na databázi, protože právě ty mohou být příčinou chyby.
Krok 3: Otestujte
- Do prohlížeče zadejte neexistující adresu na svém webu, např.
https://vasedomena.cz/neexistuje-test. Měla by se zobrazit vaše stránka. - Ověřte, že server vrací správný kód. V prohlížeči otevřete nástroje pro vývojáře (F12), záložku Síť (Network), stránku znovu načtěte a u prvního požadavku zkontrolujte stav 404.
- Vyzkoušejte i adresu ve složce (např.
https://vasedomena.cz/slozka/neexistuje), abyste ověřili, že se správně načítají obrázky a styly.
Poznámka pro WordPress a jiné redakční systémy
WordPress má vlastní chybovou stránku v souboru 404.php uvnitř šablony (motivu). Všechny neexistující adresy zpracovává sám a ErrorDocument se u nich neuplatní. Vzhled chybové stránky upravte v šabloně (ideálně v podřízené šabloně, aby změny nezmizely při aktualizaci) nebo pomocí pluginu. Podobně se chovají i další redakční systémy a e-shopy (Joomla, PrestaShop). ErrorDocument zde použijte jen pro chyby 403 a 500.
Nejčastější chyby
- Stále se zobrazuje výchozí stránka serveru – zkontrolujte, zda je soubor
404.htmlna správném místě, zda se.htaccessnahrál (viz Co dělat, když chybí soubor .htaccess) a vymažte cache prohlížeče. - Chybová stránka se zobrazí bez obrázků a stylů – v souboru jsou relativní cesty. Přepište je na absolutní od kořene webu.
- Po přidání řádku web hlásí chybu 500 – v
.htaccessje překlep. Vraťte předchozí verzi a řádek zkopírujte znovu.