2

私は自分のページで画像を動的に作成しています。ブラウザに画像をキャッシュするように指示していますが、これは機能します。しかし、ページを更新するために押すF5と、画像がリロードされますが、そうすべきではありません。私が使用しているHTMLは次のとおりです。

<img width="240" height="240"
src="/user-data/images/image.php?id=2&file=1234567890&height=240&width=240" />

PHPヘッダー部分は次のとおりです。

header("Cache-Control: private, max-age=172800, pre-check=172800");
header("Pragma: private");
// Set to expire in 2 days
header("Expires: " . date(DATE_RFC822, strtotime(" 2 days")));
if(isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])){
    // if the browser has a cached version of this image, send 304
    header('Last-Modified: ' . $_SERVER['HTTP_IF_MODIFIED_SINCE'], true, 304);
    exit;
}

それで、これは誰かが押したときに私が制御できるものF5ですか?ヘッダーに何か不足していますか?

4

1 に答える 1

0

fastcgi を使用している場合は、次の行を .htaccess ファイルに追加します。

RewriteEngine On
RewriteRule .* - [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]

そして$_SERVER['HTTP_IF_MODIFIED_SINCE']が利用可能になります。

于 2013-10-01T23:09:15.467 に答える