我找到了解决方法。一个需要在W3TC版本0.9.2.4或更高版本上,因为这就是我测试代码更改的地方。我必须编辑插件的代码,并找到我检查用户代理并返回响应的任何地方。就在我返回否定响应之前(比如404或403——无论用户在插件设置中设置了什么),我必须添加以下行:
define(\'DONOTCACHEPAGE\', true);
还要注意的是,我检查用户代理的方式是通过WordPress事件进行函数调用,该事件在事件链中处于非常高的位置:
add_action(\'plugins_loaded\',\'MYPLUGIN::checkAgents\',-1000000000);
这个add\\u action()很重要,因为它需要在W3TC插件加载之前位于加载链的高端。这就是为什么使用负优先级编号。