mod_perl und REDIRECT nach POST
Lin
- webserver
0 eddi
Huhu,
Nachdem ich es jetzt endlich geschafft hab ein bestehendes
Perl-Projekt aus einer CGI-Umgebung nach mod_perl zu 'portieren',
hängts noch an ein Paar Kleinigkeiten. Eine z.B. ist:
Ein Formular wird per POST abgeschickt, und nach dem submit soll der
client auf eine andere Seite redirected werden.
Davor habe ich einfach den Header direkt ausgegeben:
print "Location: http://www.example.com/url\n\n";
Da das bei mod_perl etwas anders läuft, hab ichs jetzt zwar geschafft,
zu redirecten:
$r->headers_out->{'Location'} = "http://www.example.com/url";
$r->status(Apache2::Const::REDIRECT);
Allerdings wird anscheinend jetzt die POST-Methode dem redirect 'mitgegeben'.
Wenn ich auf der neuen Seite F5 drücke, kommt die typische Warnung,
es handle sich um einen POST-Request, ob ich sicher nochmal abschicken will.
Genau das wollte ich ja vermeiden und das war mit der 'alten' (CGI-)
Methode auch nicht so.
Muss ich dem Apache noch was sagen? Bin bisher nicht fündig geworden.
Danke, Lin
Hallo,
$r->headers_out->{'Location'} = "http://www.example.com/url";
$r->status(Apache2::Const::REDIRECT);
Allerdings wird anscheinend jetzt die POST-Methode dem redirect 'mitgegeben'.
dafür gibt es den Status 303, der den Client veranläßt, eine GET-Request zur angegebenen Resource durchzuführen: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.4
Gruß aus Berlin!
eddi