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 Fastest Cache 或 WP Super Cache 等缓存插件,可以设置一个时间自动清空缓存,比如 WP Fastest Cache 可以在【删除缓存】选项卡按照下图添加一个规则:每10小时清空一次全部缓存。
其他缓存插件就不介绍了,总之就是找到自动清理缓存的设置选项,设置自动清理缓存的时间不超过12小时,应该就可以了。
1. 资源都是经过站长或作者收集测试修改后发布分享。如若转载请在文内以超链形式注明狐狸库文章出处,谢谢合作!
2. 本站除原创内容,其余所有内容均收集自互联网,仅限用于学习和研究目的,本站不对其内容的合法性承担任何责任。如有版权内容,请通知我们或作者删除,其版权均归原作者所有,本站虽力求保存原有版权信息,但因众多资源经多次转载,已无法确定其真实来源,或已将原有信息丢失,所以敬请原作者谅解!
3. 本站用户所发布的一切资源内容不代表本站立场,并不代表本站赞同其观点和对其真实性负责,若您对本站所载资源作品版权归属存有异议,请留言附说明联系邮箱,我们将在第一时间予以处理 ,同时向您表示歉意!为尊重作者版权,请购买原版作品,支持您喜欢的作者,谢谢!
4. 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客如有发现请立即向站长举报;本站资源文件大多存储在云盘,如发现链接或图片失效,请联系作者或站长及时更新。
请登录后查看评论内容