0
0

CSSにクエリパラメータを設定して最新のCSSを反映させる

Last updated at Posted at 2023-09-15

はじめに

cssなどを更新した際にブラウザ側でファイルを読み込まずにキャッシュが読み込まれcssなどの修正が反映されない事象があったためCache Bustingというブラウザのキャッシュを制御する方法を記載

使用環境

PHP5.4.16
CakePHP2

具体例

<link rel="stylesheet" href="style.css">

上記の様に記載されている読み込み箇所のファイルの末尾にクエリパラメータとして固有の文字列を設定する

<link rel="stylesheet" href="style.css?202300914">

こうすることでブラウザが前のバージョンとは違うファイルだと認識するため、キャッシュではなくファイルの読み込みを実施するという方法です。

あとがき

CakePHP2にはあらかじめCache Bustingを行う機能が備わっているようで
core.phpファイルの

//Configure::write('Asset.timestamp', true);

この部分のコメントアウトを外してtrueをforceに変更します

Configure::write('Asset.timestamp', 'force');

上記の様に設定すれば動作するとのこと。
ただ、コメント確認したところ上記の設定はキャッシュ無効としてブラウザを開くたびにキャッシュがクリアされる仕様となっていそう。
今回はファイルを更新した際に1回だけ実施すれば良かったのでクエリパラメータを設定する方法で行っています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0