SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

【Apache】Expiresヘッダ(有効期限)を出す

問題

HTTPレスポンスヘッダで、Expiresを出力したい。

(Webブラウザにキャッシュを活用してもらうため)

apache-icon

答え

Apache モジュール mod_expires を有効にする。

.htaccess でも httpd.conf でもよいので、以下のような設定を追加する。

ExpiresActive On
ExpiresDefault "access plus 7 days"

ExpiresActive On で、Expires ヘッダの生成を有効にする。

ExpiresDefault “access plus 7 days” で、個別に指定しなければ、有効期限は7日後になる。

個別に設定をしたいときはさらに設定を追加する。


例)「CSSだけは長期間そのままでいい」とき

ExpiresActive On
ExpiresDefault "access plus 14 days"
ExpiresByType text/css "access plus 1 month 2 days 3 hours"

例)「JavaScriptやCSSはよく変更するけど、画像だけは1年ぐらいキャッシュを使ってもらっていい」というとき

ExpiresActive On
ExpiresDefault A36000
ExpiresByType image/* A31536000

基準はアクセス access(= 今 now)か、更新日 modification。

期間の指定は、以下のような書き方ができる。


mod_expiresが有効かどうか不明な場合はIfModuleで囲んでおくのもよい。

<IfModule expires_module>
ExpiresActive On
ExpiresDefault "access plus 2 weeks"
</IfModule>

関連するメモ

コメント