Welcome to WebmasterWorld Guest from 220.127.116.11
THIS is definitely returning a 200.
When the full path is in place, it returns a 302
Note that when you specify an ErrorDocument that points to a remote URL (ie. anything with a method such as http in front of it), Apache HTTP Server will send a redirect to the client to tell it where to find the document, even if the document ends up being on the same server. This has several implications, the most important being that the client will not receive the original error status code, but instead will receive a redirect status code. This in turn can confuse web robots and other clients which try to determine if a URL is valid using the status code. In addition, if you use a remote URL in an ErrorDocument 401, the client will not know to prompt the user for a password since it will not receive the 401 status code. Therefore, if you use an ErrorDocument 401 (or 404) directive, then it must refer to a local document.
No idea why the thing won't work on anything but the root, but that is one more example of awesome...
The root is still the root. (If I edit it to /gone.html alone, I get one of those recursive error messages that say "I can't find the document, and I also can't find the 404 document.”)
ErrorDocument 404 /ebooks/gone.html
ErrorDocument 410 /ebooks/gone.html
ErrorDocument 404 /p/404.html
Assuming that the htaccess file being discussed was at the root directory, then the 404 page was not in the root.
Part of the situation here is the htaccess file has to live in the root, as ...