Ich gründe, was ich denke, sind die richtigen HTTP-Header für das Caching von PHP und bin immer ein 500-Fehler auf jeder zweiten Anfrage.Bizarre Fehler, wenn sie versuchen HTTP Caching-Header von PHP zu verwenden
Kann mir jemand in die richtige Richtung zeigen?
Der Code, um das Caching zu tun ist:
<?php
header('Content-Type: text/css');
$content = file_get_contents('test.css');
header('Content-Length: '. strlen($content));
$expires = 3600;
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
// Split the If-Modified-Since (Netscape < v6 gets this wrong)
$modifiedSince = explode(';', $_SERVER['HTTP_IF_MODIFIED_SINCE']);
// Turn the client request If-Modified-Since into a timestamp
$modifiedSince = strtotime($modifiedSince[0]);
$current_time = time();
if (($current_time - $modifiedSince) < $expires) {
header("304 Not Modified");
//echo $current_time - $modifiedSince;
exit();
}
}
$current_time = time();
header("Last-Modified: ".gmdate("D, d M Y H:i:s", $current_time)." GMT");
header("Expires: " . gmdate("D, d M Y H:i:s", $current_time+$expires) . " GMT");
header("Cache-Control: max-age=$expires");
echo $content;
Dank
Edit 1: ich meine Cache ohne Freude gelöscht haben und jemand meldet es für sie arbeiten. Bedeutet dies ein Serverkonfigurationsproblem? Es ist auf einem gehosteten Server, wenn es darauf ankommt.
Edit 2: scheint nicht in IE zu passieren, aber in Firefox geschieht
Works für mich in Ordnung. Versuchen Sie, Ihren Browser-Cache zu bereinigen. Sie haben vielleicht 500 oder etwas zwischengespeichert. –
Versuchte keine Freude. Does, die Serverkonfiguration Sie bedeuten? –