【问题标题】:CSS file is being cached even after clearing cache and changing the CSS version即使在清除缓存和更改 CSS 版本之后,CSS 文件也会被缓存
【发布时间】:2021-07-07 16:57:38
【问题描述】:

我有一个 css 文件,为了测试它,我在底部添加了一些代码,只是改变了网站上一小部分的颜色。花了大约 15 分钟,但最终它加载并更新了 CSS。然后当我删除它以查看再次脱落需要多长时间时,代码仍然加载并且已经大约 30 分钟。我尝试清除浏览器缓存以及更改 CSS 文件的版本。版本(当我在浏览器上检查源代码时)已更新到应有的 v2,但文件仍包​​含 v1 中的代码。是因为主机缓存文件还是什么?当我之前遇到这个问题时,更改 css 文件的版本有效,但这次不是。任何帮助将非常感激。谢谢!

哦,作为另一个说明,我正在使用以下代码对 css 文件进行排队,它位于 WordPress 中:

function my_theme_styles() {
// Enqueue our style.css with our own version

wp_enqueue_style('child-theme-style', get_stylesheet_directory_uri() . '/style.css',
    array(), '202107v1'); 
}

我也知道 stackoverflow 上还有其他东西,但他们都只是说要么清除浏览器缓存,要么更改 css 文件末尾的版本,这两个选项我已经尝试过但没有成功。

【问题讨论】:

  • 这样:wp_enqueue_style('child-theme-style', get_stylesheet_directory_uri() . '/style.css?v=202107v1', ..
  • 这仍然让我得到同样的结果。我仍然会在源代码中得到 /style.css?ver=202107v1' 并且它仍然不会加载新的 CSS 内容,只是版本发生了变化,但我仍然遇到同样的问题
  • 这部分在浏览器上生成的源代码如何?
  • 这是本地的还是托管服务器上的?如果是托管的,您的主机是使用 Cloudflare 还是其他缓存层?
  • 您是否在 WordPress 上使用任何缓存插件,例如 W3 Total Cache 或 LS Cache?您是否在使用 Cloudflare 等 CDN 服务?你在使用共享主机吗?许多共享主机也在使用某种形式的缓存系统,例如 Cloudflare。如果一切正常,Ctrl+Shift+R 应该可以工作。

标签: php html css wordpress browser-cache


【解决方案1】:

@Sahriar Saikat 在 cmets 中提到可能是 cloudflare 缓存文件,他是对的。我检查了 cloudflare 中的设置(直到今天我才可以访问),发现他们正在使用查询级别“忽略查询字符串”,这使得它无法更新。感谢您的帮助!

【讨论】:

  • 还有一个适用于 WordPress 的 Cloudflare 插件,如果您为开发需要大量更改站点,您可以使用它来清除站点中的 Cloudflare 缓存和其他内容。当我开发我的网站时,我只是禁用了 Cloudflare 的 CDN/反向代理并将其用于“仅 DNS”。但请注意,如果您这样做或启用开发人员模式,您的服务器 ip 可能会暴露。我主要使用单独的一次性服务器进行开发。
猜你喜欢
  • 1970-01-01
  • 2018-11-29
  • 1970-01-01
  • 2011-05-14
  • 2013-07-19
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 2013-03-03
相关资源
最近更新 更多