2014-02-05 61 views
3

如何禁用Yii上的http缓存?在我手动刷新浏览器之前,浏览器无法更新视图。Yii禁用http缓存

有没有像cakephp disableCache()?

回答

1

CakePHP的功能确实

$this->header(array(
    'Expires' => 'Mon, 26 Jul 1997 05:00:00 GMT', 
    'Last-Modified' => gmdate("D, d M Y H:i:s") . " GMT", 
    'Cache-Control' => 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0' 
)); 

所以也许你可以做一个函数:

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); 

并在需要时调用它。

0

检查您的控制器和/或基础控制器(如果您使用的话)中的filters()方法。应该有像'CHttpCacheFilter'的东西,只是删除它。默认情况下HttpCache没有启用。

更多细节: http://www.yiiframework.com/doc/guide/1.1/nl/caching.page#http-caching

如果不使用CHttpCacheFilter,请检查您的.htaccess文件,也许有做以及一些HTTP缓存。