通过浏览器缓存进行 Nginx 和 js/css 版本控制

通过浏览器缓存进行 Nginx 和 js/css 版本控制

我想在 js/css 文件更新时轻松清除浏览器的缓存。

实际文件位置:

  • /js/some-files.js
  • /css/一些文件.css

应用程序中设置的供浏览器调用的文件位置:

  • /js/v1/some-files.js
  • /css/v1/一些文件.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;
}

相关内容