Neal said:
Thanks, but confused. I know it will forward to the file OK, I have
it set up that way on a site and have never had an issue to my
knowledge. But explain again on the 302 bit. Pretend I am dumber
than I actually am
May I?
The status code (return code) is the server's primary way of telling
the browser (or other client) about the success of the request to get a
document at a specific URL. It may be accompanied with an actual
document, such as an HTML document, which could be the one the user
really wanted, or an explanation accompanying a status code that
indicates an error.
Normal processing of "not found" errors means that the server returns
code 404 and possibly an accompanying explanation. What you want is to
make sure the accompanying explanation is one that you wrote, instead
of the server's default.
What's wrong with Apache's behavior of sending the status code 302
(when an absolute URL is specified) is that it would indicate that the
original URL (in the request, e.g. as typed by the user or as written
into a link he followed) _works_ and the requested resource exists but
temporarily resides under a different URL! This would cause quite a lot
of confusion among users, search engines, etc.
For example, suppose you have created a Web page and you wish to use a
link checker (such as the one at w3c.org) to verify that all of your
links work in some technical sense at least. If you have actually
mistyped a link, the link checker will note a status code of 404 as an
error, so that you can fix the problem. But if the status code is 302,
there is no error to be reported; the checker could at most issue an
informative message about redirection.