nginx+;php fpm不忽略任何缓存头

nginx+;php fpm不忽略任何缓存头,php,nginx,fastcgi,Php,Nginx,Fastcgi,我在php页面上使用以下标题 // Prevent page caching. header('Expires: Tue, 20 Oct 1981 05:00:00 GMT'); header('Cache-Control: no-store, no-cache, must-revalidate'); header('Cache-Control: post-check=0, pre-check=0', FALSE); header('Pragma: no-cache'); 我还

我在php页面上使用以下标题

 // Prevent page caching.
 header('Expires: Tue, 20 Oct 1981 05:00:00 GMT'); 
 header('Cache-Control: no-store, no-cache, must-revalidate'); 
 header('Cache-Control: post-check=0, pre-check=0', FALSE); 
 header('Pragma: no-cache');
我还在URL中使用rand=99999999(带有一个真正的随机数)


但页面仍在缓存中。重新加载可以工作,但第一次加载是缓存的。有人知道我在哪里可以改变这个吗

您的问题很可能是您使用的浏览器、操作系统和代理的某种组合。因此

a) 停止使用IE测试web应用程序,直到您知道您的应用程序在至少两个真正符合标准的浏览器中100%工作。FF有很好的开发工具,推荐使用

b) 重新启动windows并清除缓存。设置FF以检查每次访问。禁用测试站点的任何本地代理。现在进行测试。让它工作起来。检查服务器上的日志以证明缓存已发生。如果它被送达,它就不会被缓存

c) 然后尝试使用IE进行测试。修复布局(对于体面的浏览器,不要破坏布局)。 修复IE中出现的javascript错误(对于其他浏览器也不中断)。在不破坏工作代码的情况下修复IE中的所有错误。(不要再咒骂MS了——这对你的健康不好)

d) 将剩下的bug留给IE用户-IE中的某些bug无法解决。(

好的-我承认我对你的问题的原因有点猜测。windows和IE也有同样的问题。以上是一个实用的解决方案


p、 我使用nginx和fastcgi已经两年多了。从来没有出现过任何问题。

服务器真的忽略了您的头吗?请检查。您在响应中实际看到了哪些头?您的nginx配置是什么样的?