note 57693 deleted from reserved.variables by cmb
| From: | cmb@php.net | Date: | Tue, 05 Nov 2019 11:32:24 +0000 |
| Subject: | note 57693 deleted from reserved.variables by cmb | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-212908@lists.php.net to get a copy of this message | ||
Note Submitter: webmaster at eclipse dot org
----
In response to tobias at net-clipping dot de
It is not an Apache bug. Please read http://httpd.apache.org/docs/2.1/mod/core.html#errordocument
carefully (2.1 version here, 2.0 and 1.x is similar).
In short, if your ErrorDocument start with http:// Apache sends a redirect
(302) to the error document, hence losing your original referer. If your ErrorDocument points to a
relative path, 404 is maintained and so are your variables.
From the Apache manual:
"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 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 directive then
it must refer to a local document."
D.