服务器虚拟化技术-WordPress缓存插件导致admin-ajax.php 403的解决方案

服务器虚拟化技术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小时,应该就能够了。