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

当js / css文件更新时,我想要轻松地清除浏览器的caching

真实文件位置:

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

由浏览器调用的应用中设置的文件位置:

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

我尝试了以下,但去/js/v1/some-files.js给我404s

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

你能发现我做错了吗?

这是由于缺less斜线,正如在评论中提到的! 此外,您的位置块可以简化如下…

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