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>