![APC 和 Cloudflare 之后 Wordpress 源未更新](https://linux22.com/image/800484/APC%20%E5%92%8C%20Cloudflare%20%E4%B9%8B%E5%90%8E%20Wordpress%20%E6%BA%90%E6%9C%AA%E6%9B%B4%E6%96%B0.png)
我在 Ubuntu 服务器上运行一个 Wordpress 网站。我安装了 APC 并设置了 Cloudflare。之后,我开始遇到 feed 方面的奇怪问题。
当我在浏览器上查看 feed 时,我可以看到最新的帖子。但是,当我wget
查看时,它已经过时了。Google Reader 和 Feedburner 也可以看到过时的 feed。我在 Cloudflare 设置中将 www.mysite.com/feed 从缓存中排除,但这没有帮助。我真的很困惑发生了什么。
- 使用浏览器/不使用浏览器访问 Wordpress 时是否会显示不同的页面?
- APC 是否需要任何特殊设置来保持 feed 更新?
答案1
您是否在使用 W3 Total Cache 或类似产品?如果是,这是设计使然,至少在缓存过期之前。登录用户可获得最新数据,其他用户可获得写入磁盘、发送到 APC 等的渲染内容。
答案2
如果您重新启动 HTTP,源是否会刷新?如果刷新,则这是 APC(或其他插件)缓存 RSS 源生成器的结果。您可以使用 APC 过滤器从 apc 中排除某些文件。
https://stackoverflow.com/questions/13456475/how-to-exclude-php-file-from-apc-cache
如果问题没有解决,请尝试直接拉取 feed(而不是通过 cloudflare)以确保问题不是出在 cloudflare 上。
如果您使用 W3TC
使用 curl -I 检查 URL 上的标头以确保缓存设置正确。
正如其他帖子所提到的,如果配置不正确,W3TC 之类的东西会缓存 RSS 源。您必须在 W3TC 中设置正确的页面缓存设置,以便 CDN 在更新时重新验证文件。
您可能希望将您的 feed 从 W3TC 的缓存中排除和/或更新页面缓存标头。