2021年では非推奨になったようだが、まだ実質は使えるのではと思い記述。
石浦家具
metaタグではhtml5ではキャッシュの読み込みブロックはできない。
↓これは効かない
なので、キャッシュマニフェストを設定する
HTML5ではこれによりブラウザのキャッシュをコントロールします。
1.キャッシュマニフェストファイルを作成する
cache-manifest.appcache(名前は任意、拡張子は「appcache」をgoogleが推奨)ファイルを作成し、中身を以下記述。
1
2
3
4
5
6
7
8
9
|
CACHE MANIFEST
CACHE
#キャッシュさせたいファイル
https://****.com/logo.svg
NETWORK:
#キャッシュさせたくないファイル
*
|
コメントで記載している通り、CACHEはキャッシュさせときたいファイル(基本的に変更がないようなファイルとか)を記述し、NETWORKはキャッシュさせたくないファイルを記述します。
httpから始まる書き方をしていますが、相対パスでも大丈夫です。
2.キャッシュさせたくないhtmlファイルで読み込むようにする
1
|
<html manifest=“https://****.com/cache-manifest.appcache”>
|
これも相対パスでも問題ありません。
※dremaweaverのテンプレートだとこの箇所を相対パスでいれてもパスの階層がきちんと記述されないので絶対パスで入れた方がよい
3.htaccessでキャッシュマニフェストファイルのコンテンツタイプを設定
.htaccessに以下を追加
1
|
AddType text/cache–manifest .appcache
|
俺が設定した方法
.htaccess
AddType image/svg+xml .svg .svgz
<Files ~ “¥.(html|php|jpe?g|gif|png|css|js|pdf)$”>
Header add Pragma “no-cache”
Header set Cache-Control no-cache
</Files>
AddType text/cache-manifest .appcache
マニュフェストファイル 拡張子はアパッチで。
ファイル名 cache-manifest.appcache
CACHE MANIFEST
NETWORK:
index.html
n-flow/index.html
n-inquiry/index.html
n-product/index.html
n-profile/index.html
service/index.html
service/index2.html
service/index3.html
service/index4.html
service/index5.html
service/index6.html
service/index7.html
service/index8.html
service/index9.html
service/index10.html
htmlのヘッダ
<html manifest=”https://www.ishiura-kagu.com/cache-manifest.appcache”>
※dremaweaverのテンプレートだとこの箇所を相対パスでいれてもパスの階層がきちんと記述されないので絶対パスで入れた方がよい
ウェブサイト更新時にキャッシュのせいで更新されない問題を解決