Custom error page configured in IIS for code 400 (bad request) is ignored

11,945

Solution 1

Maybe this is your answer: this Microsoft site says re configuring custom errors in IIS6 that

The following errors are not customizable: 400, 403.9, 411, 414, 500, 500.11, 500.14, 500.15, 501, 503, and 505.

Solution 2

I've run in to the same problem, and found this on msdn http://msdn.microsoft.com/en-us/library/ms690497.aspx

I'm not sure if this will work on IIS6, but it certainly works on IIS7. You need to configure httpErrors, not the custom errors

<system.webServer>
      <httpErrors errorMode="Custom">
            <error statusCode="400" subStatusCode="-1" path="_path" responseMode="Redirect" />
      </httpErrors>
</system.webServer>

Solution 3

Try

Response.TrySkipIisCustomErrors = true;

OR

<configuration>
  <system.webServer>
    <httpErrors existingResponse="PassThrough" />
  </system.webServer>
</configuration>

original post

Share:
11,945
Boris Callens
Author by

Boris Callens

Senior .net programmer. Belgium(Antwerp) based. linked-in My real email is gmail.

Updated on June 11, 2022

Comments

  • Boris Callens
    Boris Callens almost 2 years

    For my website I configured some custom error pages. If I generate a 404, the redirect works fine. When hitting a 400, the "bad request" text shows up instead of the configured URl.

    As a test I copied the URL from 404 to 400. No change. Then I changed the redirect to a file. No change.

    Any ideas?

    • Lex Li
      Lex Li about 2 years
      For any future readers of this discussion. You need to first determine what module of Windows/IIS gives you the 400 error page. Had it been http.sys (caused by factors such as oversize headers) or your web framework (caused by SOAP/REST errors), the way to customize that error page is closed or opened. Without this in mind, you wouldn't understand why some 400 can be customized and others not.
  • Boris Callens
    Boris Callens over 15 years
    I have configured it the same as in IIS. Nevertheless, if the page would be incorrect, I would get a 404 is it not?
  • Boris Callens
    Boris Callens over 15 years
    Thanks for the answer. Although it's a good answer, it defenatly is not a sollution :(
  • Alexander Mihailov
    Alexander Mihailov over 3 years
    as of 03/07/2019 statusCode Required integer attribute. Specifies the number of the HTTP status code for which you want to create a custom error message. Acceptable values are from 400 through 999. docs.microsoft.com/en-us/previous-versions/iis/settings-sche‌​ma/…
  • Lex Li
    Lex Li about 2 years
    There is usually nothing called "IIS Kernel". People commonly say http.sys or Windows HTTP API/service.