At 17:46 13.06.2001 +0100, you wrote:
>Actually, it's apache not letting it redirect on a POST form. I don't know
>why commenting out CGI makes any difference, but the HTTP RFC does say that
>the behaviour is undefined, for 301/2 on anything other than GET, if you
>think about it, this makes sense:
> >>>POST url
>:
><<<302 Location Moved
><<<Location: newurl
><<<
>:
>
>now, what method do I use for newurl, GET/POST? if POST, what is in the
>content section ?
>
>The spec says that you shouldn't do it. The fact that browsers tend to
>respond to anything with a location header (even 200 OK) as being a redirect
>seems broken, and they'll always use GET. This is why you've probably
>"noticed it working", in reality it's bogus.
>
>Apache enforces it for you.

I doubt this. This is rather a problem with CGI.pm reading STDIN or something.

>My advice is to find some other way of doing it.
>A "Refresh: 0; URL=newurl" header might do the trick, although you'll need
>to make sure you have it in headers_err, because otherwise it won't get
>sent as a header.

There is
303 See Other
now to do this. The problem is that older browsers (pre HTTP/1.1) don't 
understand it. So I am still using CGI::redirect which AFAIK means 302 to 
achieve it.

Joachim

--
"... ein Geschlecht erfinderischer Zwerge, die fuer alles gemietet werden
koennen."                            - Bertolt Brecht - Leben des Galilei

Reply via email to