Christian Seiler: Danke

Beitrag lesen

Hallo,

Du solltest dir vielleicht http://ppewww.ph.gla.ac.uk/~flavell/www/post-redirect.html durchlesen. Das ist nicht mehr auf dem neusten Stand, sollte aber genügend Fragen beantworten.

Ja - _das_ hat mir wirklich weitergeholfen - gleich mal gebookmarked.

Es ist nicht festgelegt, wie hier zu verfahren ist. Ich halte es für falsch, den Location-Header in diesem Fall irgendwie zu berücksichtigen, es doch zu tun kann man höchstens proprietärer Fehlerkorrektur zurechnen. Wenn PHP+Apache tatsächlich nur so reagieren, wäre das meiner Meinung nach ein schwerer Fehler. Apaches mod_cgi kümmert sich bei CGI-Scripts darum, dass bei einem Location-Header automatisch Status 302 angegeben wird, solange nichts anderes explizit festgelegt wird. Ich kann nicht nachprüfen, wie mod_php sich verhält.

Hopppla. Daran hatte ich gar nicht gedacht. Hab's jetzt gerade noch mal mit Telnet versucht und siehe da - auch ein 302er. Nur da in der PHP-Doku nichts dergleichen Stand, hab ich stillschweigend angenommen, PHP würde den Status so lassen, wie er ist.

Ja dann hab' ich es wirklich einfach: Wenn der Request über HTTP/1.1 kommt, dann den 303er senden; wenn der Request über HTTP/1.0 kam, dann einfach den Location-Header senden. (und PHP kümmert sich um den 302er)

Netscape 4 ist anscheinend kein Problem, da er bei mir einen HTTP/1.0 absetzt.

Vielen Dank nochmal.

Grüße,

Christian