The following reply was made to PR general/4203; it has been noted by GNATS.
From: Dirk-Willem van Gulik <[EMAIL PROTECTED]>
To: Steven Roussey <[EMAIL PROTECTED]>
Cc: [EMAIL PROTECTED]
Subject: RE: general/4203: redirect based on 404 turns POST into GET
Date: Thu, 8 Apr 1999 23:22:30 +0200 (CEST)
On Thu, 8 Apr 1999, Steven Roussey wrote:
> REDIRECT_ERROR_NOTES
File does not exist: /usr/local/apache/htdocs/network54/Travel
> REQUEST_METHODST_METHOD
POST
Ok, so you do get this one.. i.e. the rewritten REEUST_METHOD of the
original. That is good; I mistakenly assumed you did not get
these and that we where eating them.
I am not too sure wether one really want to have ErrorDocument fall
throughs as anything else than a GETs.
I see no real technical reason not to; but I can see how hairy it could
get if you allow things like PUT or DELETE to repeat their action to the
cgi defined by ErrorDocument (especially if the ErrorDocument is then
changed to be a file -> which would cause another error). POST being a
bit of a grey area.
If you are despearate to fix this; go into http_request.c; search for
_internal_redirect() in the function _die(). In there you see that the
method is changed to M_GET and strdup(GET). But this will break your
server if you ever put a static HTML file as an error document; and then
have a POST request referring to it. (Whih cause a post on the Error
document, which is a static file, which is not allowed.)
Remove those two lines and bob is your uncle. Meanwhile I'll puzzle to see
if this is such a good idea, or how you could perhaps allow for something.
The other option is of course to rewrite your POST script to accept the
REDIRECT_REQUEST_METHOD under certain circumstances.
Dw