防止CloudFlare中的缓存

时间:2013-03-21 04:38:45

标签: php caching cloudflare no-cache

我正处于项目中间,昨天我开始使用CloudFlare。

问题在于,当我进行更改时,我无法在浏览器中看到它,所以我认为这里的问题是CloudFlare的缓存设置。

我已经阅读了这篇关于CloudFlare缓存的link,所以我在我的html中添加了一个元标记:

<meta http-equiv="Cache-control" content="private">

但问题仍然存在。

我应该放置其他元标记,还是阻止服务器端的缓存? (我使用的是PHP)

7 个答案:

答案 0 :(得分:8)

cloudflare有一个Development mode选项:

  • 可立即显示对可缓存内容(如图像,CSS或JavaScript)的更改。
  • CloudFlare的加速缓存将被禁用。
  • 开发模式将在3小时后自动关闭。
  • 如果您的网站没有立即更改,请按shift-reload。

您还可以在3小时内随时关闭Development mode

希望这有助于寻找相同答案的人或者您仍然遇到此问题。

答案 1 :(得分:1)

我知道这是一个旧帖子,但Cloudflare有一个开发模式,如果你正在编辑你的网站开启开发模式(在cloudflare设置中)......

否则发送“Expires:-1”标题...“must-revalidate”

(你试过Ctrl + R)

答案 2 :(得分:1)

我必须这样做,似乎CloudFlare已更新其页面规则。您现在可以为特定URL创建页面规则(甚至使用通配符),然后选择“缓存级别”&gt;绕过设置。

答案 3 :(得分:0)

即使开发模式生效,我也必须在我的域的CF的DNS中切换橙色云。只有这样我才能获得非缓存文件。

答案 4 :(得分:0)

这是一个非常古老的问题。要禁用此功能,我们不必打开开发模式,因为云计算会缓存CSS和JS。如果您只想禁用特定的JS或CSS,只需将以下属性放入链接或脚本标记即可。

<script data-cfasync="false" src="/javascript.js"></script>

答案 5 :(得分:0)

当我读到您的问题时,您似乎(实际上)想要在代码中指定缓存规则,而不是直接在CloudFlare上指定缓存规则,

这可以全局启用,也可以通过(目标)页面规则启用。

  1. 全局设置位于“缓存”>“配置”>“浏览器缓存TTL”>“尊重现有标题”(请参见屏幕截图)
  2. “页面规则”设置将位于规则属性“ Origin Cache Control = On”中

enter image description here

答案 6 :(得分:-1)

我有几个建议。

你可以尝试

<meta http-equiv="Cache-control" content="max-age=0">  

如果您对此没有任何成功,您是否考虑过使用页面规则?查看https://support.cloudflare.com/entries/22576178-Is-there-a-tutorial-for-PageRules-

上的页面规则部分 祝你好运!