nastavení chybové stránky
Vytvoření chybové stránky přes .htaccess
Chybová stránka s kódem 404 je taková stránka, která se uživateli zobrazí tehdy, když se dostane na stránku, která na serveru neexistuje. Pokud si nenastavíte chybovou stránku, dostane uživatel pouze obecné chybové hlášení z hostingu.
Do souboru .htaccess napište řádek:
ErrorDocument 404 /chybovka.html
Pak je ještě potřeba vytvořit stránku chybovka.html (samozřejmě se může jmenovat jinak). Pokud adresa chybové stránky začíná lomítkem, jako v tomto příkladu, tak soubor chybovka.html nakopírujte do kořene webu. Kořen webu je to první lomítko za doménovým jménem (třeba v případě jakpsatweb.cz/ by soubor /chybovka.html odpovídal adrese jakpsatweb.cz/chybovka.html).
Pak je potřeba soubor .htaccess i tu chybovou stránku nakopírovat na správné místo.
Jestli to funguje, poznáte zadáním nějaké nesmyslné adresy. V adresním řádku zůstane stará chybná adresa. Co se přitom stane:
Jako adresu není možno použít relativní cestu, musí začínat lomítkem!
Druhá možnost je nastavit si jako error dokument nějakou jinou adresu s http nebo https na začátku.
ErrorDocument 404 https://example.com/chybovka.html
Musíte pak ale počítat s tím, že v takovém případě uživatel vidí sice obsah chybové stránky, ale vidí ji také v řádku adresy v prohlížeči. Takže nevidí adresu, která byla špatně. Proto to doporučuji moc nepoužívat.
Třetí možnost je namísto adresy souboru zadat za ErrorDocument textové hlášení v uvozovkách:
ErrorDocument 404 "Stránka se nenašla. Tramtadáda cililink a nějaká moudra."
Tuto třetí textovou možnost používám, když ErrorDocument ladím a chci vědět, jestli to funguje aspoň nějak.
Instrukce pro ErrorDocument se píšou do souboru .htaccess.
Pokud nevíte, co to je, přečtěte si můj návod na soubor .htaccess.
Soubor .htaccess je na serveru povolený docela často, na většině webových serverů už je dneska Linux a sever Apache. A právě v souboru .htaccess se dá chybová stránka nastavit. Pokud nevíte, jestli můžete soubor .htaccess používat, tak to prostě zkuste.
Pokud soubor .htaccess ještě nemáte, tak si ho vytvořte. Musí se jmenovat přesně ".htaccess". Přitom dejte pozor, abyste si nepřepsali nějaký starý .htaccess, který už dělá něco jiného.
Pokud to nefunguje, bude to většinou tím, že použití souboru .htaccess není na serveru povoleno. V tom případě můžete zkusit přemluvit správce, aby .htaccess povolil (povoluje se to v httpd.conf změnou hodnoty u AllowOverride). Nebo by správce alespoň to ErrorDocument mohl napsat rovnou do konfiguráku http serveru (nejčastěji soubor httpd.conf). Když všechno selže, můžete zkusit vytvořit stránku missing.html a poslat ji do rootu webu. Některé servery mají totiž nastaveno, že se chybovka 404 jmenuje missing.html (většina verzí Apache to má ale zakomentované).
Pokud se instrukce do .htaccess napíše špatně, dokáže to zbořit celý server, takže vrací Internal Server Error. Většinou při ladění chyb nestačí přepsat a uložit .htaccess. Abych měl jistotu, že server pracuje s aktuální verzí .htaccess, po každém pokusu server restartuji.
Nastavení vlastní chybové stránky má dvě výhody:
Kdy uživatelé chodí na chybové stránky? Nejčastěji když někdo vytvoří chybný odkaz. Pomocí počitadla se tak můžete dozvědět, že máte nějaký problém, který tak můžete opravit.
Jako obsah chybové stránky se nemusí vracet jenom html stránka. Může se třeba poslat obrázek. Když například e-shop nemá obrázek k výrobku, ale šablona stránky počítá s tím, že výrobek bude mít obrázek, dá se napsat error dokument tak, aby poslal zástupný obrázek. I když má návratový kód 404, použije se ve stránce správně.
ErrorDocument 404 /img/zastupny-obrazek.jpg
Postup nastavení chybové stránky na serveru IIS na Windowsech:
Ovládací panely - Nástroje pro správu - Internetová informační služba. Zde
nalezněte váš webový server (vlevo ve stromu IIS) a klepněte na něj pravým
tlačítkem. Z popup menu vyberte Vlastnosti a pak záložku Vlastní chyby. No a
všechny chyby máte jako na dlani a pak už není problém popsat cesty :-)
Dbejte na to, aby byla poskytnutá chybová stránka veliká alespoň 512 bajtů. Jinak ji Internet Explorer nebude umět zobrazit. Domnívá se totiž pak, že jde o standardní odpověď serveru (bývá malá) a věří si, že dokáže odpovědět uživateli lépe svým vlastním zabudovaným hlášením.
Publikováno 15. března 2004, později upraveno, aktualizace 4. května 2019
Jak psát web píše Yuhů, Dušan Janovský. Kontakt.