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