【发布时间】:2013-05-30 22:06:30
【问题描述】:
在 Codeigniter 中没有出现缓存问题几年后,我发现了一个问题。我已经看到其他地方描述的问题,但没有适合我的解决方案。
例如,如果我在视图中更改一些纯 html 文本并上传新文件并按 F5,则会显示旧的缓存文件。如果我之后按 ctrlF5 会显示新的,并且 F5 再次将旧的缓存文件返回给我。我曾尝试手动刷新浏览器缓存,但我们没有效果。几分钟后,旧的缓存文件将被新文件替换。这个问题给我带来了登录和注销的问题。
我没有运气在登录和注销控制器中都放置了以下代码;
$this->output->cache(0);
$this->output->set_header('Last-Modified: ' . gmdate("D, d M Y H:i:s") . ' GMT');
$this->output->set_header('Cache-Control: no-store, no-cache, max-age=0, must-revalidate, post-check=0, pre-check=0');
$this->output->set_header('Pragma: no-cache');
$this->output->set_header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
我没有在任何控制器($this->output->cache(n)) 中激活输出缓存,或者没有缓存文件夹(application/cache 或 system/cache/(beore 2.0.0))或在配置文件中使用 db cache (['cache_on'] = FALSE)。
我正在使用: 代码点火器 2.0.0 火狐21.0
我认为缓存文件存储在 Linux 服务器上的某个位置,但我不知道在哪里以及如何刷新。
任何帮助或指向正确的方向都可以。谢谢!
最好的问候 马丁
【问题讨论】:
-
您检查过 HTML 是否设置正确,日期是否正确?
-
感谢您的回复。其实我不知道。我应该检查 HTML 文件的正确日期吗?这是最后修改日期吗?再次感谢。
-
如果您使用 Firefox,您可以使用 Firebug 插件来检查页面的 HTML 源代码。 (右键检查)
-
谢谢。我有 Firebug 并完成了检查。我必须在哪里照顾什么? - HTML 文件中的所有内容对我来说都很好。
-
点击firebug中的网络标签。刷新页面,然后从列表中选择您的页面(通常是最顶部的项目)并单击右侧的标题选项卡。在那里,您可以准确地看到正在为您的页面提供哪些缓存标头。
标签: codeigniter caching