5

I have a Web Application in Asp.Net 4 running locally on IIS 7. I need display a Custom Page (404) and an 500 instead for the defaults page for IIS. Using this httpErrors in Web.Config

<system.webServer>
    <httpErrors>

My Site is in

C:\inetpub\wwwroot\mysite\

My Custom Error page in:

C:\inetpub\wwwroot\mysite\ErrorPages\404.htm
C:\inetpub\wwwroot\mysite\ErrorPages\505.htm

I do not understand how it works. COuld you please provide me a sample of code?

Thanks

2 Answers 2

14

I solved my problem with this.

<httpErrors errorMode="Custom">
    <remove statusCode="404" subStatusCode='-1' />
    <remove statusCode="500" subStatusCode='-1' />
    <error statusCode="404" path="/404.aspx" prefixLanguageFilePath="" responseMode="ExecuteURL"  />
    <error statusCode="500" path="/500.aspx" prefixLanguageFilePath="" responseMode="ExecuteURL" />
  </httpErrors>

This needs to go in Web.config, under <configuration> > <system.webServer>

e.g.

<configuration>
    <system.webServer>
        <httpErrors ...>
            // define errors in here ...
        </httpErrors>
    </system.webServer>
</configuration>
Sign up to request clarification or add additional context in comments.

2 Comments

You can omit the prefixLanguageFilePath="".
Suggestion: include the parent elements so readers can see this goes inside <configuration><system.webServer>
6

Here is an example, hope it helps

<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="default.aspx">
<error statusCode="404" redirect="~/ErrorPages/404.htm"/>
<error statusCode="500" redirect="~/ErrorPages/505.htm"/>
</customErrors>
</system.web>

Edit for comments: Here's the example I think you need

<configuration>
   <system.webServer>
      <httpErrors errorMode="DetailedLocalOnly" defaultResponseMode="File" >
         <remove statusCode="500" />
         <error statusCode="500"
            prefixLanguageFilePath="C:\Contoso\Content\errors"
            path="500.htm" />
       </httpErrors>
   </system.webServer>
</configuration>

http://www.iis.net/ConfigReference/system.webServer/httpErrors/error

3 Comments

thanks this is working for asp.net but on my server i need the configuration for even static content
I'm sorry, I don't understand. Could you explain?
for my understanding your code works if I require a page that do not exist (with extension .aspx) ex: foo.aspx where foo.aspx does not exist on the server. I need instead work with <system.webServer> <httpErrors>.... do you have any examples?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.