Proč je málo chybovek - Vytvoření chybové stránky přes .htaccess
Spousta webů nenabízí žádnou chybovou stránku 404, protože to správci serverů a autoři stránek neumějí nastavit. Nebo jsou jenom líní?
Jirka Bureš udělal další kolo výzkumu českých weblogů. Weblogy CZ - 404. Zjišťoval, kolik blogů vypíše nějakou chybovou stránku ve chvíli, kdy uživatel požádá o neexistující stránku. Má to dost málo weblogů, celkem 26% (a to je ještě docela hodně vysoké číslo způsobené správným nastavením serveru pooh.cz.)
Chybová stránka 404 (i jiné chybovky) mi přijde jako docela řídký jev. Přemýšlel jsem nad tím, čím to je. Napadly mě tři důvody. Myslím, že autorská a správcovská populace bude v tomto směru rozdělena asi tak na čtvrtiny:
Co jsem si všimnul, soubor .htaccess je povolený docela často, na většině webových serverů už je dneska Linux. 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.
Pakliže soubor .htaccess ještě nemáte, tak si ho vytvořte. Musí se jmenovat přesně ".htaccess". (Na Windowsech není vytvoření souboru s tečkou na začátku žádná sranda, užijte si to. Pro usnadnění práce si můžete soubory stáhnout v zipu.)
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). Co má být na chybové stránce, je výborně popsáno v doprovodném příspěvku na Conblogu. A pak je potřeba soubor .htaccess i tu chybovou stránku nakopírovat do kořene webu. (Jenom dejte pozor, abyste si nepřepsali nějaký starý .htaccess.)
Jestli to funguje, poznáte zadáním nějaké nesmyslné adresy. Pak si ještě můžete udělat chybové stránky pro další chyby, třeba 403 nebo 500.
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). To se vyplatí, s .htaccess se pak dá užít spousta další legrace. 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é).
Postup nastavení na serveru IIS na Windowsech doplnil emailem
Lukáš Mačí (mírně upraveno):
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 :-)
Vilém Málek mi poradil přesnější návod na nastavení IIS, Interval.cz
Dbejte na to, aby byla poskytnutá chybová stránka veliká alespoň 512 bajtů. Jinak ji Internet Explorer nebude umět zobrazit.
Publikováno 15. března 2004, později upraveno
Jak psát web píše Yuhů, Dušan Janovský. Kontakt. Poslední aktualizace 13. února 2005.