我在我的网络应用程序中编写了一个名为“devmode”的选项,这基本上意味着“没有缓存”。该应用程序通常会输出Javascript和CSS的自动缩小(和聚合)版本,但devmode选项会覆盖此。
但是,我们仍然有浏览器缓存。所以,不用多说,如果某个PHP布尔值为真,如何禁用页面上所有组件的缓存?
干杯
编辑:你可能会感兴趣的是我知道我正在运行Apache,而我的一个想法就是强制.js和.css被解析为PHP(这很简单),并以某种方式'注入'一小块PHP代码在每个开头。
答案 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']);
假设你不会破解自己:)