在完成更新后,我经常更新我的网站,我的客户报告说加载的是旧图像和脚本,而不是新图像和脚本。我知道它们来自浏览器缓存,但有什么方法可以强制脚本不从服务器缓存中加载。
我将 nginx 与 php-fpm 一起使用。
最佳答案
您可以强制 HTTP header 影响浏览器缓存行为,但是在您需要缓存的生产环境中这可能不是一个好主意。
所以简单地使用类似的东西:
expires -1
强制 Cache-Control no-cache
header
点击此处获取更多信息:
http://wiki.nginx.org/HttpHeadersModule
话虽如此,我已经养成了在修改图像和静态文件名称时更改它们的习惯。也许这来自与 CDN 的合作,这会非常有用。所以说我有我可能经常更新的静态文件(即它们不是某些特定内容的一部分)。我会这样命名它们:
someimagev1.jpg
someimagev2.jpg
somejs1.js
somejs2.js
etc.
我根据需要更改值(和 HTML 源中的链接)。
关于php - nginx 阻止从缓存加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15838512/