Web.config- tips og triks

Web.config- tips og triks

Hvad er en web.config?
En web.config er en konfigurations fil til ASP.NET webhoteller. Selve filen er et XML dokument som definere konfigurationen for webapplikationen
Selv filen laves i notepad eller lignende text redigerings program og indeholder typisk:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
</system.web>
<system.webServer>
</system.webServer>
</configuration>

Dit eget indhold til filen skal placeres mellem <system.web> og </system.web> eller <system.webServer> og </system.webServer>
Når filen skal gemmes er det vigtig at den bliver kaldt “web.config” og bliver gemt som typen “alle filer” eller “all files”

Hvad kan web.config bruges til?

lav en 301 redirect
Man kan med følgende kode lave en 301 redirect fra mappen hvori filen placeres. I dette tilfælde bliver der viderestillet til http://google.dk

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
</system.web>
<system.webServer>
<httpRedirect enabled="true" destination="http://google.dk" httpResponseStatus="Permanent" />
</system.webServer>
</configuration>

Egne fejlsider
ønsker man at benytte egne sider til fejlbeskeder kan man benytte følgende eksempel:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
</system.web>
<system.webServer>
<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="404" path="/index.htm" responseMode="ExecuteURL" />
<error statusCode="500" path="/din_fejl_side_500.asp" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
</configuration>

Dette eksempel vil redirecte fejl 404 (siden blev ikke fundet) til siden index.htm. ønskes der et redirect til en side på andet domæne skal der istedet benyttes: responseMode=”Redirect”

Få vist detaljeret fejlbeskrivelser
Hvis man oplever at få en intern server fejl 500, kan man med fordel tilføje <httpErrors errorMode=”Detailed” /> for nemmere at lokalisere fejlen

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
</system.web>
<system.webServer>
<httpErrors errorMode="Detailed" />
</system.webServer>
</configuration>