我们在“如何阻止Web浏览器缓存页面?”中解决了禁用客户端缓存的任务,但禁用缓存很少是唯一(或最佳)选项。
在这里,我们将介绍一种机制,它允许我们以可以在PHP脚本中控制的方式利用客户端缓存。
Apache必需! 这种方法只有在你将PHP作为Apache Web服务器模块运行时才有效,因为它需要使用getallheaders函数 - 它只适用于Apache-来获取Web浏览器发送的HTTP头。
答案 0 :(得分:2)
google上的第3个结果:https://encrypted.google.com/search?sclient=psy&hl=en&site=&source=hp&q=disable+cache+apache&btnG=Google+Search
.htaccess方法:
<FilesMatch ".(html|htm|js|css)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "no-cache, no-store, must-revalidate, max-age=0"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</FilesMatch>
PHP方法:
<?php
header("Cache-Control: no-cache, no-store, must-revalidate, max-age=0");
header("Pragma: no-cache");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
jQuery / ajax方法:
$.ajaxSetup ({
// Disable caching of AJAX responses
cache: false
});
贫民区方法:
<a href="/path/page.php?r=random-number-generated-with-javascript-or-php">stuff</a>