概要 †
レスポンスを向上させるために、画像を一定期間キャッシュさせたいと思います。
ApacheのExpiresヘッダ設定を行っても、index.php?hoge&src=huga.pngなどで表示している画像には効かなかったので(設定次第では上手くいくのかもしれませんが)、pukiwiki側を修正することにしました。
方法 †
- plugin/ref.inc.phpを開きます。
plugin_ref_actionの末尾で、Cache-Control HTTPヘッダの生成を追加します。
1
2
3
4
5
6
7
8
9
10
11
12
| <?php function plugin_ref_action()
[途中省略・・・]
// Output
pkwk_common_headers();
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Content-Length: ' . $size);
header('Content-Type: ' . $type);
// アクセスの30日後に期限が切れるようにする
header('Cache-control: private, max-age=2700000');
@readfile($ref);
exit; ?>
|
確認 †
- YSlowを起動します。
- [Components]タブに移動し、index.php?hoge&src=huga.pngのパターンで表示する画像行を表示します。
[EXPRESS]欄を確認し、期間が表示されていれば成功です。
検証時の環境 †
- CentOS 5.5 x86
- Apache 2.2.14
- Pukiwiki 1.4.7
参考 †