Reputation: 93327
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?
Upvotes: 8
Views: 15798
Reputation: 1168
In 2020 it will work just like that web.config
:
<system.webServer>
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="400" subStatusCode="-1" />
...
<error statusCode="400" prefixLanguageFilePath="YOUR_PATH" path="YOUR_HTML_FILE" responseMode="File" />
...
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.
https://learn.microsoft.com/en-us/previous-versions/iis/settings-schema/ms689487(v=vs.90)
Note that bad URL like https://stackoverflow.com/% still won't be customizable and one will get the simple Bad Request message coming from the IIS Kernel (Error Code 400).
More on that here https://serverfault.com/questions/257680/properly-handle-iis-request-with-percent-sign-in-url
Upvotes: 2
Reputation: 32841
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.
Upvotes: 6
Reputation: 3520
Try
Response.TrySkipIisCustomErrors = true;
OR
<configuration>
<system.webServer>
<httpErrors existingResponse="PassThrough" />
</system.webServer>
</configuration>
Upvotes: 3
Reputation: 7163
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>
Upvotes: 7
Reputation: 32841
Check what's in your web.config file in the customErrors
section. That has a defaultRedirect
attribute, and an error
subtag with a redirect
attribute. These can conflict with your other configuration settings in IIS.
Upvotes: 0