數(shù)字金融
網(wǎng)絡(luò)營(yíng)銷推廣
電商服務(wù)
admin-ajax.php 是 WordPress 用于Ajax請(qǐng)求的必需文件,在使用緩存插件的情況下,如果你的網(wǎng)站使用了Ajax請(qǐng)求網(wǎng)站數(shù)據(jù),可能會(huì)時(shí)不時(shí)出現(xiàn) admin-ajax.php 403 的情況,怎樣確定 admin-ajax.php 403 是不是因?yàn)榫彺娌寮?dǎo)致的呢?
后臺(tái)緩存插件中清空緩存,然后到瀏覽器中隨便訪問(wèn)網(wǎng)站的一個(gè)頁(yè)面,F(xiàn)12 打開(kāi)調(diào)試模式。
Ctrl + F5 強(qiáng)制刷新前臺(tái)頁(yè)面,發(fā)現(xiàn) admin-ajax.php 可以正常加載,說(shuō)明是緩存導(dǎo)致了問(wèn)題。
聯(lián)想到通常使用Ajax時(shí),我們都會(huì)使用 WordPress 內(nèi)置的Nonce機(jī)制來(lái)添加請(qǐng)求安全驗(yàn)證。如果Nonce的值失效了,但是緩存仍在,就會(huì)出現(xiàn)請(qǐng)求被拒絕。
Nonce 的默認(rèn)有效期為24小時(shí),所以,解決該問(wèn)題的辦法就是定時(shí)清空緩存,或者不要緩存admin-ajax.php請(qǐng)求。
比如,如果你使用的是 WP Rocket 緩存插件,可以將 /wp-admin/admin-ajax.php 添加到排除路徑中:
如果使用的是 WP Fastest Cache 或 WP Super Cache 等緩存插件,可以設(shè)置一個(gè)時(shí)間自動(dòng)清空緩存,比如 WP Fastest Cache 可以在【刪除緩存】選項(xiàng)卡按照下圖添加一個(gè)規(guī)則:每10小時(shí)清空一次全部緩存。
其他緩存插件就不介紹了,總之就是找到自動(dòng)清理緩存的設(shè)置選項(xiàng),設(shè)置自動(dòng)清理緩存的時(shí)間不超過(guò)12小時(shí),應(yīng)該就可以了。