我正在使用 PHP 创建可维护的样式表,如下文所述: http ://www.barelyfitz.com/projects/csscolor/
然而,由于 PHP 需要一点时间来“动态地”生成这个文件,它不会被客户端的浏览器缓存,并且会在几分之一秒内将所有元素显示为空白/无样式。有没有办法缓存 CSS 或删除该工件?
网站参考是http://www.leadwerks.net/。
谢谢!
我正在使用 PHP 创建可维护的样式表,如下文所述: http ://www.barelyfitz.com/projects/csscolor/
然而,由于 PHP 需要一点时间来“动态地”生成这个文件,它不会被客户端的浏览器缓存,并且会在几分之一秒内将所有元素显示为空白/无样式。有没有办法缓存 CSS 或删除该工件?
网站参考是http://www.leadwerks.net/。
谢谢!
如果 CSS 文件是动态生成的,但不是每个请求都更改,请发送很远的过期标头,并将最后修改时间附加到文件中,以便在需要更新时破坏缓存。
所以我猜你的PHP文件会在某个地方......
header('Content-Type: text/css');
...所以添加这个...
header('Expires: '.gmdate('D, d M Y H:i:s', strtotime('+1 year')).' GMT');
然后,在引用 CSS 文件时,执行此操作...
<?php echo $file = '/styles/custom.php' ;?>
<link rel="stylesheet"
type="text/css"
href="<?php echo $file; ?>?m=<?php echo filemtime($file); ?>"
/>
没有这个,用户在他们第一次下载 CSS 后的一年内都看不到你网站的变化。更新文件时,您将更改附加的数字。如果您没有实际更改文件(它使用数据库调用),则可以选择最后更新的行或附加版本控制号。