**[[質問箱4/422]] [#aa3affc9] #author("2018-03-11T20:36:06+09:00;2010-06-13T16:49:36+09:00","","") **[[質問箱/4422]] [#aa3affc9] |RIGHT:70|LEFT:410|c |~カテゴリ|| |~サマリ|負荷軽減の為のキャッシュの利用| |~バージョン|1.4.7-UTF8| |~投稿者|[[なっしー]]| |~状態|完了| |~投稿日|&new{2009-02-03 (火) 00:52:58};| ***質問 [#o5c886d0] [[負荷対策のまとめ>dev:BugTrack/763]]にていくつかの負荷対策がまとめられていますが、 画像をキャッシュする方法はあるでしょうか? 左メニューバーや右メニューバーに画像を使用していた場合、ユーザーがページを移動する毎に画像を読み込んでいる為、転送量の増加にも繋がる上、効率的ではありません。 画像をキャッシュする方法としては .htaccess にて <FilesMatch "\.(jpg|jpeg|png|gif|swf)$"> Header set Cache-Control "max-age=604800, public" </FilesMatch> のように指定すると可能ですが、レンタルサーバーの為、このような記述が許可されず、500エラーとなってしまいます。 またmod_expiresといったモジュールは共用サーバーの為にこちらで設定が行えない状態です。 pukiwiki内の変更(php)で画像ファイルのみを1週間キャッシュするといった事は可能なのでしょうか? また、どのようにすれば可能なのでしょうか? サーバー情報は&br; CentOS 5.2&br; PHP 5.2.8&br; Apache 2.2.10&br; となっております。よろしくお願いします。 ***回答 [#z3c9644a] - 自己レスになりますがref.inc.phpの最終行近くのpkwk_common_headers();らへんを&br; header('Content-Disposition: inline; filename="' . $filename . '"'); header('Content-Length: ' . $size); header('Content-Type: ' . $type); header('Cache-control: must-revalidate'); header('Expires: '.gmdate('D, d M Y H:i:s', time() + 3600).' GMT'); と変えてみました。どうなるかわかりませんがまた報告させていただきます。 -- [[なっしー]] &new{2009-02-03 (火) 12:12:29}; - 上じゃうまくいかなかったので・・・&br; header('Content-Disposition: inline; filename="' . $filename . '"'); header('Content-Length: ' . $size); header('Content-Type: ' . $type); header('Cache-control: private, max-age=720000'); にしてみました。上記の設定に変えるとキャッシュフォルダに入れられたrefプラグインで表示している画像のExpires(有効期限)が丁度8日と8時間後になっていたので多分うまくいったと思います。ぜんぜん判ってない事やっちゃってるのかもしれませんが・・・。おそらくは自己解決できました。すいません。完了にしておきます -- [[なっしー]] &new{2009-02-04 (水) 18:31:00}; - [[dev:BugTrack2/249]] 添付ファイルには HTTP Last-modified ヘッダをつけるべき -- &new{2010-06-13 (日) 16:49:35}; //#comment