ブラウザのキャッシュクリア キャッシュマニュフェスト

2021年では非推奨になったようだが、まだ実質は使えるのではと思い記述。

石浦家具

metaタグではhtml5ではキャッシュの読み込みブロックはできない。
↓これは効かない

<meta httpequiv=“Pragma” content=“no-cache”>
<meta httpequiv=“Cache-Control” content=“no-cache”>

 

なので、キャッシュマニフェストを設定する

HTML5ではこれによりブラウザのキャッシュをコントロールします。

1.キャッシュマニフェストファイルを作成する

cache-manifest.appcache(名前は任意、拡張子は「appcache」をgoogleが推奨)ファイルを作成し、中身を以下記述。

コメントで記載している通り、CACHEはキャッシュさせときたいファイル(基本的に変更がないようなファイルとか)を記述し、NETWORKはキャッシュさせたくないファイルを記述します。
httpから始まる書き方をしていますが、相対パスでも大丈夫です。

2.キャッシュさせたくないhtmlファイルで読み込むようにする

これも相対パスでも問題ありません。

※dremaweaverのテンプレートだとこの箇所を相対パスでいれてもパスの階層がきちんと記述されないので絶対パスで入れた方がよい

3.htaccessでキャッシュマニフェストファイルのコンテンツタイプを設定

.htaccessに以下を追加

 


俺が設定した方法

 

.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のテンプレートだとこの箇所を相対パスでいれてもパスの階層がきちんと記述されないので絶対パスで入れた方がよい

 


ウェブサイト更新時にキャッシュのせいで更新されない問題を解決