通过PHP设置expire头

时间:2014-08-11 15:23:31

标签: php apache

我们通过php使用以下过期标题来渲染缩小的css / js

header('Expires:'.gmdate('D, d M Y H:i:s', 1407595380 + 3600 * 24 * 90).' GMT');
header('Cache-Control: public');
header('Last-Modified: 1407595380');
header('Content-type: text/css');

响应标题我们将在线提及

Cache-Control   public
Connection  Keep-Alive
Content-Encoding    gzip
Content-Length  3224
Content-Type    text/css
Date    Mon, 11 Aug 2014 14:54:55 GMT
Expires Fri, 07 Nov 2014 14:43:00 GMT
Keep-Alive  timeout=5, max=100
Last-Modified   1407595380
Pragma  no-cache
Server  Apache/2.2.22 (Ubuntu)

但每次刷新我的页面时,浏览器都会给我200个响应代码而不是304.浏览器没有使用自己的缓存来生成php生成的缩小文件,并且在后续请求中使用304代码来休息css js。

谢谢

2 个答案:

答案 0 :(得分:1)

$timeToCache = 3600 * 24 * 90;
header('Expires:'.gmdate('D, d M Y H:i:s', 1407595380 + $timeToCache).' GMT');
header('Cache-Control: public');
header('Cache-Control: max-age='.$timeToCache);
header('Last-Modified: 1407595380');
header('Content-type: text/css');
header('Pragma: cache');

答案 1 :(得分:0)

Pragma: no-cache可能会给你提供线索。

虽然是针对旧版HTTP / 1.0,但请尝试设置Pragma: cache