根据接受的答案here on SO,我正在尝试创建一个可以使用PHP编辑的样式表。
我正在尝试在用户的浏览器中创建样式表(名为css.php
)缓存,以便他/她不必在每个页面加载上加载它,并设置以下标题来执行这样:
header('Content-Type: text/css;;charset=UTF-8');
header('cache-control: max-age=86400;');
header('Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT;');
header('Expires: Sat, 22 Nov 2014 16:00:00 GMT;');
header('cache-control: max-age=86400;');
这些是默认发送的其他标头:
Connection:"Keep-Alive"
Content-Encoding:"gzip"
Content-Length:"393"
Date:"Fri, 21 Nov 2014 17:00:50 GMT"
Keep-Alive:"timeout=5, max=99"
Server:"Apache"
Vary:"Accept-Encoding"
X-Frame-Options:"SAMEORIGIN"
但是,在加载多次引用css.php
页面的页面时,它会继续每次重新加载CSS页面。
每次加载使用apache服务器访问日志上的样式表的页面时,我都会收到css.php
页面的命中。
我可以看到我的Firefox浏览器正在访问css.php
工具中的Inspect Element
页面。它每次都会收到HTTP 200
。
我该怎么办?
答案 0 :(得分:0)
不是创建动态CSS文件,而是每次使用PHP的file_put_contents()
函数更改标准文件。
示例:
file_put_contents("styles.css", $css_input);
这样,浏览器会像平常一样缓存文件。
示例:
<link rel="stylesheet" type="text/css" href="styles.css"/>
当您对实际的CSS进行更改时,浏览器会在重新启动时自动加载新的。