透過瀏覽器快取進行 Nginx 和 js/css 版本控制

透過瀏覽器快取進行 Nginx 和 js/css 版本控制

我想在更新 js/css 檔案時輕鬆清除瀏覽器的快取。

真實文件位置:

  • /js/some-files.js
  • /css/some-files.css

應用程式中設定的由瀏覽器呼叫的檔案位置:

  • /js/v1/some-files.js
  • /css/v1/some-files.css

我嘗試了以下但要去/js/v1/some-files.js給我 404。

location ~ ^/(js|css)/v[0-9]+/(.*)$ {
    access_log off;
    expires 7d;
    add_header Cache-Control public;
    try_files $uri $uri/ $1/$2;
}

你能發現我做錯了什麼嗎?

答案1

正如評論中提到的,這是由於缺少斜線!此外,您的地點塊可以像下面這樣簡化......

location ~ /(js|css)/v[0-9]+/(.*) {
    access_log off;
    expires 7d;
    add_header Cache-Control public;
    try_files $uri $uri/ /$1/$2;
}

相關內容