启用缓存插件时出现软404错误(200状态)

时间:2011-03-22 作者:berberich

我有一个博客在专用虚拟服务器上运行最新稳定版本的WordPress,情况如下。(用W3 Total Cache、Hyper Cache或Quick Cache替换缓存插件,因为我已经尝试了这三种方法,但结果相同。)

已禁用[缓存插件]。我访问了网站上已知的错误链接(http://example.com/xyzz/)并收到404错误页面。我可以在Chrome的Inspector和/或Firebug中验证“404 Not Found”状态是否在HTTP标头中得到了正确的服务。

我打开[缓存插件]并访问相同的URL。在初次访问时,我收到了一个缓存页面(通过HTML源代码底部插件插入的调试注释进行验证),该页面在HTTP头中具有正确的“404未找到”状态。

如果我再次访问该页面(http://example.com/xyzz/),我收到了来自上面#2的相同缓存页面,向用户显示“404-page Not Found”错误,但HTTP标头中的状态为“200 OK”。

如果我关闭[缓存插件]并再次访问该页面,我将再次收到一个未缓存的页面,该页面在HTTP标头中具有正确的“404未找到”状态。

你知道这里发生了什么吗?这似乎导致了一个问题,Google Bot试图索引一些不存在的页面,因为它看到的是“200 OK”HTTP头,而不是正确的404。

2 个回复
最合适的回答,由SO网友:berberich 整理而成

进一步的故障排除使我相信这与我使用的主题有某种关联。在禁用它并启用另一个之后,我在使用缓存插件时收到了正确的404头。

我仍然不知道主题中的什么会导致这种情况,但至少有一个解决方法。

SO网友:Scott Buchanan

W3 Total Cache具有以下选项,如果启用该选项,将导致此行为:

Cache 404 (not found) pages

通过缓存404页来减少服务器负载。如果使用磁盘增强的磁盘缓存方法,将返回404页,并返回200响应代码。使用风险自负。

其他缓存插件可能具有类似的功能。

相关推荐

多站点:将主站点的URL更改为HTTPS

我已经在新安装的WordPress上设置了多站点。然后我创建了一些其他网站,所以,最后,我有了这样的东西http://example.comhttp://site1.example.comhttp://site2.example.comhttp://site3.example.com然后我安装了SSL数字证书,因此我更改了网站的URL以匹配HTTPS方案:http://example.com更改我转到的方案Sites > All Sites, 然后单击每个站点,在选项卡“信息”(第一个)中,我只需更

启用缓存插件时出现软404错误(200状态) - 小码农CODE - 行之有效找到问题解决它

启用缓存插件时出现软404错误(200状态)

时间:2011-03-22 作者:berberich

我有一个博客在专用虚拟服务器上运行最新稳定版本的WordPress,情况如下。(用W3 Total Cache、Hyper Cache或Quick Cache替换缓存插件,因为我已经尝试了这三种方法,但结果相同。)

已禁用[缓存插件]。我访问了网站上已知的错误链接(http://example.com/xyzz/)并收到404错误页面。我可以在Chrome的Inspector和/或Firebug中验证“404 Not Found”状态是否在HTTP标头中得到了正确的服务。

我打开[缓存插件]并访问相同的URL。在初次访问时,我收到了一个缓存页面(通过HTML源代码底部插件插入的调试注释进行验证),该页面在HTTP头中具有正确的“404未找到”状态。

如果我再次访问该页面(http://example.com/xyzz/),我收到了来自上面#2的相同缓存页面,向用户显示“404-page Not Found”错误,但HTTP标头中的状态为“200 OK”。

如果我关闭[缓存插件]并再次访问该页面,我将再次收到一个未缓存的页面,该页面在HTTP标头中具有正确的“404未找到”状态。

你知道这里发生了什么吗?这似乎导致了一个问题,Google Bot试图索引一些不存在的页面,因为它看到的是“200 OK”HTTP头,而不是正确的404。

2 个回复
最合适的回答,由SO网友:berberich 整理而成

进一步的故障排除使我相信这与我使用的主题有某种关联。在禁用它并启用另一个之后,我在使用缓存插件时收到了正确的404头。

我仍然不知道主题中的什么会导致这种情况,但至少有一个解决方法。

SO网友:Scott Buchanan

W3 Total Cache具有以下选项,如果启用该选项,将导致此行为:

Cache 404 (not found) pages

通过缓存404页来减少服务器负载。如果使用磁盘增强的磁盘缓存方法,将返回404页,并返回200响应代码。使用风险自负。

其他缓存插件可能具有类似的功能。