WordPress缓存插件引出admin-ajax.php 403的解决方案
  • 作者:admin
  • 发表时间:2021-04-07 07:54
  • 来源:未知

Admin-ajax.php是WordPress请求Ajax的必要文件。使用缓存插件时,如果你的网站使用Ajax请求网站数据,汤山网络公司的admin-ajax.php 403可能会时不时出现。如何确定admin-ajax.php 403是否是缓存插件导致的?

清空后台缓存插件中的缓存,然后在浏览器中随便访问网站的一个页面,F12打开调试模式。

ctrl+F5强制刷新前台页面,发现admin-ajax.php可以正常加载,说明是缓存导致了问题。

当我们想到Ajax时,我们会使用WordPress的内置Nonce机制来添加请求安全认证。如果Nonce的值无效,但缓存仍然存在,则请求将被拒绝。

Nonce的默认有效期是24小时,因此解决此问题的方法是定期清除缓存或不缓存admin-ajax.php请求。

例如,如果您正在使用WP Rocket缓存插件,您可以将/wp-admin/admin-ajax.php添加到排除路径:

如果使用WP FastTest Cache或WP Super Cache等缓存插件,可以设置自动清空缓存的时间。例如,WP FastTest Cache可以在Delete Cache选项卡中添加如下所示的规则:每10小时清空所有缓存。

其他缓存插件我就不介绍了。简而言之,找到自动缓存清理的设置选项,将自动缓存清理的时间设置为不超过12小时。