Nápověda CZECHIA.COM

Zákaznická a technická podpora 24/7

Ošetření HTTP chybových kódů na IIS 7.0 a vyšších - 404 a další

Na serverech s IIS 7.0 a vyšších můžete kódy HTTP chyb ošetřit pomocí příkazů v souboru web.config.

Jedním z těchto kódů je kód 404 - stránka nenalezena. Chybu 404 použijeme v příkladu - chybu obslouží následující příkazy (tagy) v souboru web.config v prostoru <system.webServer>


<httpErrors>
   <remove statusCode="404" subStatusCode="-1" />
   <error statusCode="404" path="/moje404.html" responseMode="Redirect" />
</httpErrors>
<modules runAllManagedModulesForAllRequests="true"/>
  • v parametru statusCode tagu <error> specifikujeme url k zobrazení v případě chyby. Relativní cesta musí vždy začínat lomítkem
  • parametr responseMode tagu <error> nám nabízí tyto možnosti:
    • Redirect - přesměrování na zadanou url
    • ExecuteURL - zobrazení obsahu zadané url beze změny adresy v adresním řádku prohlížeče
  • pomocí dvojice tagů <remove> a <error> můžeme stejným způsobem přidat další chybové kódy - 400, 401, 403, ...

Příklad kódu v souboru web.config

Souboru web.config s tímto obsahem nahrajeme do adresáře, ve kterém se mají příkazy projevit. Nesmíme však zapomenout, že příkazy přejímají i další podadresáře (pokud neobsahují vlastní web.config).


<?xml version="1.0"?>
<configuration>
    <system.web>
        <!--
             nějaké příkazy
        -->
   </system.web>
   <system.webServer>
      <httpErrors>
        <remove statusCode="404" subStatusCode="-1" />
        <remove statusCode="401" subStatusCode="-1" />
        <error statusCode="404" path="/moje404.html" responseMode="Redirect" />
        <error statusCode="401" path="http://nazev-domeny.cz/informace.html" responseMode="ExecuteURL" />
      </httpErrors>
      <modules runAllManagedModulesForAllRequests="true"/>
    </system.webServer>
  </configuration>