molily: Wie macht ihr das:

Beitrag lesen

Hallo,

Was ist daran eigentlich unschön? Weils nicht im Head steht?

weil du dafür extra nochmal ein HTML-dokument an den client schickst, um diesem darin zu sagen, "bitte geh woanders kucken" - hat ein bisschen was von "ätsch-bätsch, verarscht ...".

die umleitung per HTTP-header hingegegen sagt dem client gleich, "bitte hole dir das dokument stattdessen von der adresse xy".

»Unless the request method was HEAD, the entity of the response SHOULD contain a short hypertext note with a hyperlink to the new URI(s).«
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.2

Kommt also diesbezüglich auf dasselbe heraus. Auch bei 301-303 wird »extra nochmal ein HTML-Dokument an den Client geschickt«. Es wird in dem Fall ganz normal angegeben, dass sich um eine text/html-Datei handelt. Es wäre eher sinnlos, wenn diese leer ist, denn nicht umsonst wurde festgelegt, dass der Entity dann nicht leer ist.

da header() zusätzliche HTTP-header produziert, dürfen davor keinerlei ausgaben erfolgen (selbst whitespace ist zu viel). und im falle der umleitung sind auch ausgaben danach sinnfrei.

Siehe oben.

Mathias