Některé sdílené webhostingy nabízejí vytvořit si vlastní variantu chybových hlášek. Když se z nějakého důvodu pak přestěhujete a váš nový webhosting toto neumožňuje přes administraci nemusíte hned panikařit, že by to nešlo. V dnešní době už snad všichni podporují .hraccess a právě pomocí něj můžete vytváře vlastní chybové hlášky prakticky pro kterýkoliv ze stavových kódů.

.htaccess

Pomocí .htaccess můžete do jisté míry ovlivňovat chování serveru. Většinou se používá na vytváření takzvaných hezkých URL, kdy se parametry $_GET převádí na adresáře. Samozřejmě toho umí daleko více. Pomocí něj se dá například ochránit určitý adresář heslem anebo zablokovat určitých IP adresám anebo i prohlížečům vstup na web. Dnes jej ale využijeme na vytváření vlastních stránek pro jednotlivé stavové kódy.

Stavový kód

Stavový kód je číslo, které vrátí server na základě žádosti návštěvníkova prohlížeče. Dejme tomu, že se rozhodnete navštívit nějakou stránku. Zadáte do prohlížeče její adresu. Odešlete požadavek na server, ten pokud jej může zpracovat vrátí vašemu prohlížeči stavový kód a data. Nejznámější stavové kódy jsou:

  • 200 OK – vše proběhlo v pořádku
  • 301 Moved Permanently – dokument byl natrvalo přesunut (většinou následuje přesměrování na jinou adresu, které si ani nevšimnete)
  • 302 Moved Temporarily – dokument byl dočasně přesunut
  • 403 Forbidden – do této složky nemáte přístup
  • 404 Not Found – stránka nenalezena
  • 410 Gone – dokument už se zde nenachází. Byl permanentně odstraněn (většinou úmyslně). Tento stavový kód například sdělí vyhledávačům, aby stránku odstranili ze svého indexu.
  • 500 Internal Server Error – Server má nějaké potíže. Často je takto označována chyba právě se souborem .htaccess.
  • 503 Service Unavailable – Server je nedostupný. Ve většině případů jste vyčerpali přidělený výkon.

Vlastní chybové stránky

Vložit do .htaccess vlastní chybovou stránku je velice jednoduché. V podstatě vkládáme příkaz ve formátu:

ErrorDocument číslo stavového kódu relativní cesta k souboru

Takže například pro vlastní stránku stránka nenalezena použijeme následující zápis:

ErrorDocument 404 /chyby/stranka-nenalezena.php

Tento řádek znamená: Dokument s chybou 404 se nachází v adresáři chyby a je to soubor stranka-nenalezena.php.

Podobným způsobem můžete zapsat i další chyby k jednotlivým stavovým kódům

ErrorDocument 403 /chyby/pristup-zamitnut.php
ErrorDocument 404 /chyby/stranka-nenalezena.php
ErrorDocument 500 /chyby/server-ma-potize.php
ErrorDocument 503 /chyby/server-je-pretizen.php

Možné potíže

Práce se souborem .htaccess je pro začátečníky poměrně nebezpečná. Překlep anebo vložení nepovoleného znaku povede právě k chybě 500 pro celý web. Čímž jej v podstatě kompletně vyřadíte z provozu. Než se pustíte do editování, tak si jej rozhodně nezapomeňte zazálohovat.

Soubor .htaccess platí pro adresář, kde se nachází a jeho podadresáře. Pokud se nachází v podadresáři, měl by pro daný podadresář platit, ten který se v něm nachází. Jednoduše přepisuje fungování toho v nadřazeném adresáři.

Některé webhostingy .htaccess nastavují jako skrytý soubor, aby zamezili tomu, že si jej někdo smaže, protože nebude vědět k čemu vlastně je. V tomto případě je nutné si ve vašem FTP klientovi nastavit zobrazování skrytých souborů.

total-commander-zobrazeni-skrytych-souboru
Nastavení zobrazování skrytých souborů v Total Commander.

Pokud váš webhosting .htaccess podporuje, ale v adresáři s webem jej nemáte, můžete jej zkusit vytvořit. Nezpomeňte že se jedná v podstatě o soubor beze jména s koncovkou htaccess. Pro vytvoření obsahu je ideální použít nějaký editor pro programátory. Například je dobrý PSPad. Ten se postará, aby soubor neobsahoval různé formátovací anebo skryté znaky. Přinejhorším poslouží Notepad (poznámkový blok). Rozhodně .htaccess nevytvářejte ve Wordu anebo podobném programu.