使用PHP动态禁用Javascript / CSS的缓存?

时间:2011-10-26 01:47:07

标签: php javascript caching dynamic

我在我的网络应用程序中编写了一个名为“devmode”的选项,这基本上意味着“没有缓存”。该应用程序通常会输出Javascript和CSS的自动缩小(和聚合)版本,但devmode选项会覆盖此。

但是,我们仍然有浏览器缓存。所以,不用多说,如果某个PHP布尔值为真,如何禁用页面上所有组件的缓存?

干杯

编辑:你可能会感兴趣的是我知道我正在运行Apache,而我的一个想法就是强制.js和.css被解析为PHP(这很简单),并以某种方式'注入'一小块PHP代码在每个开头。

2 个答案:

答案 0 :(得分:1)

用于调试/开发的“快速而肮脏”的方法,您可以使用随机(或基于时间)的查询字符串调用HTML中的所有组件。例如:

<img src="logo.png?uniqecall=20111026035500" />

,在您的PHP代码中看起来像这样:

print '<img src="logo.png?uniqecall=' . date("YmdHis") . '" />';

等...

答案 1 :(得分:1)

的.htaccess

RewriteRule ^no-cache/(.*?)$ no-cache.php?file=$1 [QSA,L]

没有-cache.php和

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
readfile('static/'.$_GET['file']);

假设你不会破解自己:)