I can't get a custom error document to work for 400 Bad Request. It's a CentOS LAMP server.
ErrorDocument 400 /badrdoc.html
I've tried using the above in:
- Apache http.conf
- Apache httpd-vhosts.conf (in each vhost)
- .htaccess in the root htdocs of the site
None of them are working. Apache is serving its default 400 Bad Request page.
Can anyone shed any light on this?
Edit: forgot to mention, I have restarted Apache after changes.
I had quite some trouble getting a custom 400 error document to work. I added this to the top level of my Apache conf:
And created the two error documents in the
DocumentRoot
. First, I tested the 404 with:This returned my custom 404.
Then the 400 (Note that the leading slash is missing):
The response was the default Apache 400.
I did manage to get my custom 400 back by talking HTTP to an HTTPS vhost:
You still get the same custom 400 back, even if you make an invalid request:
Unfortunately for your testing, talking SSL to a non-ssl vhost doesn't result in a 400 of any sort. I still haven't figured out how to get a custom
ErrorDocuemnt 400
to be sent back on port 80.P.S. I remember reading somewhere that an
ErrorDocument 400
won't work inside a.htaccess
file as it may not be possible to even determine the correctDocumentRoot
if the request is malformed. The same probably applies to name based virtualhosts.