18988093961

当前位置:
WordPress缓存插件导致admin-ajax.php 403的解决方案
来源: | 作者:kmlzb | 发布时间: 2023-07-31 | 178 次浏览 | 分享到:

为使用缓存插件的网站,出现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 Fastest Cache或WP Super Cache等缓存插件的用户,您可以设置一个缓存自动清除的时间。例如,WP Fastest Cache可以在“删除缓存”选项卡中添加一个规则,使其每10个小时自动清空全部缓存。



对于其他缓存插件,就不再详细介绍了。总之,您需要找到自动清理缓存的设置选项,并确保设置的自动清理时间不超过12小时。这样应该就可以了。