我在完成更新后经常更新我的网站我的客户报告旧图片&脚本正在加载而不是新加载。我知道他们来自他们的浏览器缓存,但有什么方法可以强制脚本不从服务器的缓存加载。
我正在使用php-fpm的nginx。
答案 0 :(得分:11)
您可以强制HTTP标头影响浏览器缓存行为,但是在您需要缓存的生产环境中这可能不是一个好主意。
所以简单地使用类似的东西:
expires -1
强制Cache-Control no-cache
标题
点击此处了解更多信息:
http://wiki.nginx.org/HttpHeadersModule
话虽这么说,我已经养成了修改图像和静态文件名的习惯。也许这来自与CDN的合作,这可能会非常有用。所以说我有可能经常更新的静态文件(即它们不是某些特定内容的一部分)。我会把它们命名为:
someimagev1.jpg
someimagev2.jpg
somejs1.js
somejs2.js
etc.
我根据需要更改了值(以及HTML源代码中的链接)。