这两天在Linux上研究Nginx的fastcgi_cache,发现有的页面就是不缓存,开始还以为是配置问题,经过多次调试测试,最终发现那些不缓存的页面都是因为使用了“session_start();”。

解决:

方法1、直接屏蔽掉 session_start();

方法2、在session_start之前设置下session_cache_limiter('public') (引用一博友的方法)

当启用了session后,session.cache_limiter就被默认设置为nocache,所以就在http头里发送no-cache信息,导致页面不会被缓存。
当然一般需要缓存的文件是不需要session的,因此去掉头部的session_start()即可。
如果实在需要在启用session后还需要把这个页面缓存,则需要在session_start之前设置下session_cache_limiter('public')。