Wer sein phpbb3 zusammen mit einem PHP das über CGI angesprochen wird betreibt, kann eine oeberraschung erleben: Bilder funktionieren nicht richtig, und in der Logdatei tauchen Einträge der Form

malformed header from script. Bad header=Not Modified: file.php, referer:

auf. Die Lösung: die Zeile

header(‚Not Modified‘, true, 304);
ist zu ersetzen durch
header(„HTTP/1.1 304 Not Modified“, true, 304);
und anschließend klappt es korrekt. Der Hintergrund ist wohl, dass die andere Schreibweise im header Aufruf lediglich mit PHP als Apache Modul funktioniert, weil der Apache die kurz-Notation „Not Modified“ unterstützt, und daraus den RFC2616 konformen Header mit Status 304 macht.

Update:
Die korrekte Lösung sollte so aussehen – und das gilt wohl für alle, die vorhaben mit PHP conditional GETs zu unterstützen:

if (php_sapi_name()==’CGI‘)
{
header(„Status: 304 Not Modified“);
}
else
{
header(„HTTP/1.0 304 Not Modified“);
}