Custom error page configured in IIS for code 400 (bad request) is ignored
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>
Boris Callens
Senior .net programmer. Belgium(Antwerp) based. linked-in My real email is gmail.
Updated on June 11, 2022Comments
-
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 about 2 yearsFor 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 over 15 yearsI 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 over 15 yearsThanks for the answer. Although it's a good answer, it defenatly is not a sollution :(
-
Alexander Mihailov over 3 yearsas 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-schema/…
-
Lex Li about 2 yearsThere is usually nothing called "IIS Kernel". People commonly say http.sys or Windows HTTP API/service.