<?php
header("Cache-Control: public");
header("Pragma: cache");
$offset = 30*60*60*24; // cache 1 month
$ExpStr = "Expires: ".gmdate("D, d M Y H:i:s", time() + $offset)." GMT";
header($ExpStr);
echo date("Y-m-d l H:i:s A");
?>
我设置了一个月的缓存,但是每次刷新显示的时间都不一样,请问代码哪里出错了?
页面每次刷新, 你都发送Header, 当然是每次都更新啦.
如果http header上有缓存头的话,
浏览器请求这个页面的时候, 会带上 If-Modified, If-Match, 之类的请求头,
你需要根据这个If头里面的内容来判断, 是发送304 Not Modified 还是发送新的页面.