php - nginx 阻止从缓存加载

标签 php nginx

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

我将 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/

相关文章:

php - 如何访问从模型中的数组返回到 Controller 的数据以与表库一起显示

django - 在同一域下使用 Nginx 和 Gunicorn 为多个 Django 应用程序提供服务

php - 连接()到 unix :/var/run/php-fpm. 套接字失败(11 : Resource temporarily unavailable) while connecting to upstream, 客户端 : unix:, 服务器

python - Nginx、uwsgi、django 和上游在 get/post 上超时

ruby-on-rails - 使用 SSL 的 Rails 应用太慢

javascript - 基于百分比的值概率

php - 在所有页面中保持登录 session

PHP:通过 $_GET 回显失败

php - 刷新页面过多

nginx - 对于像 supervisord 这样的进程 Controller ,RHEL init.d 脚本中的 chkconfig 行应该设置为什么?