關於 WordPress 管理後臺出現產生過多重定向問題,筆者昨天第一次遇到。具體表現是管理員及使用者無法登入後臺,貌似出現了無限迴圈或根本無法跳轉。我們都知道在使用者沒有登入的時候,你輸入登入如你的域名/wp-admin 或 wp-login.php 時,只有使用者名稱和密碼正確,就會重定向到 worpress 後臺 (預設情況下),但是筆者接觸到一個網站的情況是下面的情況如圖 (谷歌瀏覽器瀏覽):

wp-admin-redrect

這個問題顯然阻止了 WordPress 的重定向繼續執行。經過一番搜尋及分析,下面幾點值得大家參考:

一、對於網站遷移最容易出現這個問題

如果你是對網站遷移如從一個伺服器遷移到另一個伺服器並且域名不同的話,而遷移完後,原來的伺服器解析停止,那麼這個問題的出現極大可能是你的網站域名及站點地址沒有正確的修改導致的。或者從本地遷移到伺服器也會出現這個問題。解決辦法就是登入資料庫,找到 wp_options->option_name 裡,修改現在的域名即可。

二、過期的外掛導致的

在 WordPress 外掛庫裡,有很多不再更新的外掛,隨著 WordPress 版本的不斷升級,很多外掛都沒有及時的跟進。從而導致 WordPress 後臺出現了重定向的問題。這個解決辦法是透過 ftp 登入網站安裝目錄,進入外掛目錄,把外掛目錄重新命名,然後新建一個外掛目錄,名字後以前的目錄名一樣,只不過裡面是空的。這時你一般就可以登入了。然後依次啟用外掛,排查問題。

三、全新安裝的 WordPress 為什麼也會有這個問題

筆者遇到的就是全新安裝的 WordPress,但是也出現了這個問題。這有點讓人費解。但是這可以肯定的告訴各位,這是伺服器配置導致的。實際上這不僅僅限於 WordPress,其它的網站系統也遇到這個問題。有人分析的伺服器防火牆錯判,或伺服器安全配置太高等。不管什麼原因,如果沒有伺服器的許可權,要從伺服器本身去解決問題,是比較難的。下面提供兩個方法:

1 、修改 wp-config.php 檔案

從瀏覽器的判斷來看,是 Cookie 問題,所以從這個角度來解決。開啟 wp-config.php 檔案,新增下面的幾行程式碼:

define('ADMIN_COOKIE_PATH', '/');
define('COOKIE_DOMAIN', ");
define('COOKIEPATH', ");
define('SITECOOKIEPATH', ");

儲存後測試看看。

2 、修改.htaccess 檔案

透過 ftp 連結登入,右擊編輯,在 # BEGIN WordPress line 上面,新增下面的程式碼:

ErrorDocument 401 default

儲存後測試看看。

一般情況下,透過上述方法都能解決問題。