WEBサイトでキャッシュをさせない方法

CGIでWEBサイトを作ってて、CSSや画像ファイルがキャッシュさてれしまって更新が反映されずに困ったときの解決方法をメモしときます。

スタイルシートを読み込ます行に以下のように

  <link rel=”stylesheet” href=”style.css?20241219″>

ファイル名の後ろに引数を付けて、更新するたびに数字をカウントアップしていけば更新が確実に反映されるようです。

固定ファイルや手動で更新するファイルであれば毎回修正すれば良いのですが、スクリプトでファイルを自動更新しているような場合毎回引数を書き換えるわけにはいかないので、この数字を自動更新させる方法をこんな感じでやってみました。

img = “test2.png?”+str(time.time())
img_txt = “<p><img src=””” + img + “></p>”

確実に重複しない数字のLinux時間を取得してファイルを読み込むときの引数にしてます。
これでアクセスのたびに引数が新しい数字に更新されキャッシュされるのを防ぎます。

コメント