【问题标题】:Codeigniter page won't refresh (Browser-Cache is turned off)Codeigniter 页面不会刷新(浏览器缓存已关闭)
【发布时间】:2017-08-30 03:11:53
【问题描述】:

我目前正在使用 codeigniter 开发我的第一个项目。这是我遇到的一个奇怪的问题:当对视图或类进行少量更改时,我必须等待几分钟才能刷新,否则会为我提供旧版本的文件。

浏览器缓存当然是关闭的 - 我试过 ctrl-F5ing/shift-Refreshing - 没有成功。不同的浏览器 -> 相同的结果。

内容显然在服务器端缓存了几分钟。 codeigniter 默认情况下会这样做吗?如果是这样,我该如何关闭此行为?

【问题讨论】:

  • CodeIgniter 默认不缓存。它不是 CodeIgniter,除非你专门打开缓存。

标签: php codeigniter caching


【解决方案1】:

CodeIgniter 3 默认不缓存。这是启用网页缓存的方法:https://codeigniter.com/user_guide/general/caching.html

我建议您搜索您的代码库,以确保它不是在某一时刻无意中添加的。

如果这不是罪魁祸首,您应该与您的房东核实。一些主机提供缓存选项(例如 Cloudflare)来加速您的网页。这可能默认开启。

您也可以尝试检查响应标头。有一个免费的在线工具,您可以在其中向您的页面发出请求,它会显示响应标头:https://www.hurl.it/

以下是一些使用 Amazon 的 CloudFront 作为缓存的响应标头示例:

X-Amz-Cf-Id:qQ09JK3b2H-XiDD1nR9Ee22DppxU-7X1Nt74rzDyhczOCPA0YvZ0Mg==
X-Cache:Hit from cloudfront

【讨论】:

  • 感谢您的提示!我三重检查:未启用 Codeigniter 缓存。我已经尝试在非 codeigniter 子域上使用纯 HTML -> 相同的结果。我会与我的主机取得联系,他们没有使用 CloudFront,但显然有些事情会延迟我所做的所有更改......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-02
  • 2018-02-16
  • 1970-01-01
  • 2014-01-16
  • 2021-12-17
  • 2020-08-12
相关资源
最近更新 更多