PHP 304 エラー設定方法: 1. 対応する PHP ファイルを開く; 2. 時刻の md5 値を変更する; 3. "@trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) を渡す{ header("HTTP/1.1 304 Not Modified");exit;" メソッドで 304 を出力できます。
このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、Dell G3 コンピューター。
PHP 304 エラーが報告された場合はどうすればよいですか?
php 静的ファイルは 304 を返します
いくつかの静的ファイル (画像など) が php によって出力されることがありますが、リクエストはすべて 200 であり、静的ファイルが毎回サーバーにリクエストする必要があります。リソースの無駄です。この時点でブラウザに画像をキャッシュさせるにはどうすればよいですか? phpで304を出力する必要があります。
php で HTTP_IF_MODIFIED_SINCE を etag と組み合わせて使用すると、これを行うことができます。 Etag には明確に定義された形式がありません。ファイル変更時刻の md5 値を使用できます。コードは次のとおりです:
コードは次のとおりです:
private function _addEtag($file) { $last_modified_time = filemtime($file); $etag = md5_file($file); // always send headers header("Last-Modified: ".gmdate("D, d M Y H:i:s", $last_modified_time)." GMT"); header("Etag: $etag"); // exit if not modified if (@strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) == $last_modified_time || @trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) { header("HTTP/1.1 304 Not Modified"); exit; } }
は次の中で呼び出すことができます。静的ファイル(画像など)を出力する前のコードです。
推奨学習: 「PHP ビデオ チュートリアル 」
以上がPHP304エラーの対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。