Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 1018609
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T10:53:02+00:00 2026-05-16T10:53:02+00:00

I am using a generic error page using ASP.NET’s <customErrors> directive. <customErrors mode=On defaultRedirect=500.html

  • 0

I am using a generic error page using ASP.NET’s <customErrors> directive.

<customErrors mode="On" defaultRedirect="500.html" redirectMode="ResponseRewrite">
</customErrors>

Problem – when an error occurs, this page does not return HTTP status “500”. It comes as 200. So link checkers and spiders do not see that there is any problem.

How can I send the 500 HTTP status along with the static 500.html page?

Requirements:

  • I must use redirectMode=”ResponseRewrite”
  • I can’t use a dynamic page, only static .html.
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-16T10:53:03+00:00Added an answer on May 16, 2026 at 10:53 am

    The MSDN documentation for the customErrors element states that it is implemented by System.Web.Configuration.CustomErrorsSection. If we use Red Gate’s .NET Reflector to analyze that class, we can see where that setting is used in the Framework.

    It is used by System.Web.UI.Page.HandleError and System.Web.HttpResponse.ReportRuntimeError.

    Both of these end up calling System.Web.HttpResponse.RedirectToErrorPage. (The name of this method is confusing: it is important to note that RedirectToErrorPage takes the redirectMode setting as a parameter, so it is called even if you are using ResponseRewrite and no redirection actually happens.)

    The relevant part of the RedirectToErrorPage method is:

        if (redirectMode == CustomErrorsRedirectMode.ResponseRewrite)
        {
            this.Context.Server.Execute(url);
        }
    

    There doesn’t appear to be any way to set the response code in the error handling: at the end of the day it’s just a plain Server.Execute. It therefore seems unavoidable that you would need to write code to achieve the HTTP response you want.

    Can you re-examine why you want to use a plain .html file? This seems a sensible choice for error handling, because you don’t want to go through all the overhead of a .aspx page when that might cause another error to occur.

    But perhaps there is some middle ground which will be just as robust as a .html file?

    For example, you could make a precompiled HttpHandler, register it to the URL /500.error, and then make 500.error your defaultRedirect page. (This would be similar to how ScriptResource.axd works.) If you precompile your module into a DLL (as opposed to on-the-fly compilation from a plain old .axd file), you may find it is just as robust in the face of error conditions. If you encounter an error where not even this will work, then a static .html file probably won’t work either — keep in mind that the customErrors directive still relies on .NET running under the hood, and still uses the StaticFileHandler to serve your .html file.

    Alternatively you could consider a reverse proxy in front of your IIS application which would serve a friendly 500 page even in the face of catastrophic failure of the application pool. This would be more work to set up, but would be even more robust than customErrors, e.g. if your web.config becomes corrupted, even customErrors won’t work.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am using following setting for customErrors in my web.config. <customErrors mode="On" defaultRedirect="GenericErrorPage.aspx" >
I'm trying to make a very simple asp.net page that binds a GridView using
I get an error on line 14 of the below: using System; using System.Collections.Generic;
I have a ASP.NET (C#) web page in which I want to enumerate a
Using this tutorial: http://dotnetslackers.com/articles/ajax/Using-jQuery-with-ASP-NET.aspx The web service is invoked such as Service1.asmx/HelloToYou The default
I have an ASP.NET Web Application project that I am using to host a
i am using asp.net framework 4 and i have created brand new project and
ISSUE: I have an asp.net mvc 3 app. I'm using EF 4.1 and trying
I'm building an asp.net page that uses a page method call from jquery. This
I'm using an ObjectDataSource to sort/page/filter as below: <asp:ObjectDataSource ID=odsCompaniesIndex runat=server EnablePaging=true SelectMethod=GetCompaniesSubset StartRowIndexParameterName=startRowIndex

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.