質問箱/4422

カテゴリ
サマリ負荷軽減の為のキャッシュの利用
バージョン1.4.7-UTF8
投稿者なっしー?
状態完了
投稿日2009-02-03 (火) 00:52:58

質問

負荷対策のまとめにていくつかの負荷対策がまとめられていますが、 画像をキャッシュする方法はあるでしょうか? 左メニューバーや右メニューバーに画像を使用していた場合、ユーザーがページを移動する毎に画像を読み込んでいる為、転送量の増加にも繋がる上、効率的ではありません。

画像をキャッシュする方法としては .htaccess にて

<FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>

のように指定すると可能ですが、レンタルサーバーの為、このような記述が許可されず、500エラーとなってしまいます。 またmod_expiresといったモジュールは共用サーバーの為にこちらで設定が行えない状態です。 pukiwiki内の変更(php)で画像ファイルのみを1週間キャッシュするといった事は可能なのでしょうか? また、どのようにすれば可能なのでしょうか?

サーバー情報は
CentOS 5.2
PHP 5.2.8
Apache 2.2.10
となっております。よろしくお願いします。

回答

  • 自己レスになりますがref.inc.phpの最終行近くのpkwk_common_headers();らへんを
    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');
    と変えてみました。どうなるかわかりませんがまた報告させていただきます。 -- なっしー? 2009-02-03 (火) 12:12:29
  • 上じゃうまくいかなかったので・・・
    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時間後になっていたので多分うまくいったと思います。ぜんぜん判ってない事やっちゃってるのかもしれませんが・・・。おそらくは自己解決できました。すいません。完了にしておきます -- なっしー? 2009-02-04 (水) 18:31:00
  • dev:BugTrack2/249 添付ファイルには HTTP Last-modified ヘッダをつけるべき -- 2010-06-13 (日) 16:49:35

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-06-13 (日) 16:49:36
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.255 sec.

OSDN