Portál technickej podpory

Ak tu nenájdete to, čo ste hľadali, neváhajte nás kontaktovať.
Potrebné informácie pre vás radi doplníme.

Ošetrenie HTTP chybových kódov na IIS 7.5. - 404 a ďalších

Na serveroch s IIS 7.5 a vyšších môžete kódy HTTP chyb ošetriť pomocou príkazu v súbore web.config.

Jedným z týchto kódov je kód 404 - stránka nenájdená. Chybu 404 použijeme v príklade - chybu obslúži nasledujúci príkaz (tagy) v súbore web.config v priestore <system.webServer>


<httpErrors>
   <remove statusCode="404" subStatusCode="-1" />
   <error statusCode="404" path="/moje404.html" responseMode="Redirect" />
</httpErrors>
<modules runAllManagedModulesForAllRequests="true"/>
  • v parametri statusCode tagu <error> špecifikujeme url k zobrazeniu v prípade chyby. Relatívna cesta musí vždy začínať lomítkom
  • parameter responseMode tagu <error> nám ponúka tieto možnosti:
    • Redirect - presmerovanie na zadanú url
    • ExecuteURL - zobrazenie obsahu zadanej url bez zmeny adresy v adresnom riadku prehliadača
  • pomocou dvojice tagov <remove> a <error> môžeme rovnakým spôsobom pridať ďalšie chybové kódy - 400, 401, 403, ...

Príklad kódu v súbore web.config

Súbor web.config s týmto obsahom nahrajeme do adresára, v ktorom sa majú príkazy prejaviť. Nesmieme však zabudnúť, že príkazy prijímajú aj ďalšie podadresáre (pokiaľ neobsahujú vlastný web.config.


<?xml version="1.0"?>
<configuration>
    <system.web>
        <!--
             nejaké prí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://nazov-domeny.sk/informacie.html" responseMode="ExecuteURL" />
      </httpErrors>
      <modules runAllManagedModulesForAllRequests="true"/>
    </system.webServer>
  </configuration>