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

清除后台缓存插件中的缓存,然后在浏览器中访问网站的任意页面。F12打开调试模式。

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

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

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

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

如果您使用的是WP最快缓存或WP超级缓存等缓存插件,您可以设置一个时间来自动清空缓存。比如WP最快缓存可以在【删除缓存】标签中添加一个规则如下图:每10小时清空所有缓存。

其他缓存插件就不介绍了。总之,就是找到自动清理缓存的设置选项。设置自动清理缓存的时间不超过12小时应该是可以的。

来源:日间博客

地址:https://www.seobti.com/2961.html

发表回复

后才能评论