nginx阻止从缓存加载

Ram*_*aul 5 php nginx

我在完成更新后经常更新我的网站我的客户报告旧的图像和脚本正在加载而不是新的.我知道他们来自他们的浏览器缓存,但有什么办法可以强制脚本不从服务器缓存加载.

我正在使用php-fpm的nginx.

Mik*_*ant 11

您可以强制HTTP标头影响浏览器缓存行为,但是在您需要缓存的生产环境中这可能不是一个好主意.

所以简单地使用以下内容:

expires -1
Run Code Online (Sandbox Code Playgroud)

强制Cache-Control no-cache

点击此处了解更多信息:

http://wiki.nginx.org/HttpHeadersModule

话虽这么说,我已经养成了修改图像和静态文件名的习惯.也许这来自于与CDN的合作,这可能会非常有用.所以说我有可能经常更新的静态文件(即它们不是某些特定内容的一部分).我会把它们命名为:

someimagev1.jpg
someimagev2.jpg
somejs1.js
somejs2.js
etc.
Run Code Online (Sandbox Code Playgroud)

我根据需要更改值(以及HTML源代码中的链接).