Webサーバ設定ファイルの記述方法

[更新: 2024年03月22日]

ウェブアクセラレータでキャッシュ配信を行う際のWebサーバ設定ファイルの記述方法に関するページです。
この設定は必ず必要な設定ですので、適切に設定されていない場合はキャッシュ配信が行われません。

Apache利用の場合

<FilesMatch "\.(gif|jpe?g|png|webp|ico|svg|css|js)$">
  Header append Cache-Control "s-maxage=86400"
</FilesMatch>

上記設定により、拡張子 gif、jpeg、jpg、webp、png、ico、svg、css、jsのファイルをキャッシュ時間1日としてウェブアクセラレータにキャッシュすることができます。 対象ファイルは「|」(パイプ)で区切ることで追加できます。

Apacheの場合は<virtualhost>内に記述することにより、当該ホスト名のみに適用することができます。

また、全ファイルキャッシュを行いたい場合は<virtualhost>内に Header append Cache-Control 「s-maxage=86400」 を書くだけで設定できます。

※ この設定は .htaccess、httpd.conf、またはincludeされるApacheの設定ファイルに記載されている必要があります。

nginx利用の場合

location ~* \.(gif|jpe?g|png|webp|ico|svg|css|js)$ {
  add_header Cache-Control "s-maxage=86400";
}

上記設定により、拡張子 gif、jpeg、jpg、png、webp、ico、svg、css、jsのファイルをキャッシュ時間1日としてウェブアクセラレータにキャッシュすることができます。 対象ファイルは「|」(パイプ)で区切ることで追加できます。

nginxの場合はserverディレクティブ内に記述することにより、当該ホスト名のみに適用することができます。

また、全ファイルキャッシュを行いたい場合はserverディレクティブ内に add_header Cache-Control 「s-maxage=86400」; を書くだけで設定できます。

※ nginxにはApacheと異なり.htaccessの概念がありませんので、デフォルトの設定ファイルであるnginx.conf、もしくはincludeされる設定ファイルに記載するしか設定方法がありません。

注意

レスポンスヘッダーのディレクティブでキャッシュ無効設定のヘッダ指定するとキャッシュされませんのでご注意ください。 キャッシュ無効設定のヘッダについては キャッシュ仕様 をご確認ください。

Cache-Control "s-maxage=86400"
Pragma "no-cache"

※ Cache-Controlでs-maxageを指定しても、Pragma 「no-cache」と指定することでキャッシュ配信されなくなります。

Cache-Control "s-maxage=86400, no-store"
Cache-Control "s-maxage=86400, private"