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 添加到排除路径:
WordPress缓存插件引出 admin-ajax.php 403 的解决方案。
如果您使用的是诸如 WP 最快缓存或 WP 超级缓存之类的缓存插件,您可以设置一个时间来自动清空缓存。比如 WP 最快缓存可以在【删除缓存】选项卡上按照下图添加一个规则:每 10 小时清空所有缓存。
WordPress 缓存插件引出 admin-ajax.php 403 的解决方案。
不会引入其他缓存插件。简单来说就是找到自动清理缓存的设置选项,将自动清理缓存的时间设置为不超过 12 小时,应该就够了。
转载请注明:汇站网 » WordPress 缓存插件引出 admin-ajax.php 403 的解决方案