**[[質問箱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

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.060 sec.

SourceForge