0%

正威網路行銷工作室,專注於基隆、台北與全台客製化網頁設計,提供專業 RWD 響應式、SEO 搜尋引擎優化、品牌形象設計與網站維護託管服務。

搜尋文章
聯絡資訊
地址基隆市仁二路 220 號 5 樓
追蹤我們

WordPress 後台登不進去,一直跳回登入頁怎麼辦?

WordPress 後台登不進去,一直跳回登入頁怎麼辦? 封面

帳號密碼確定沒打錯,按下「登入」,畫面閃了一下,又回到登入頁,欄位是空的。再試一次,還是一樣。有時候登入頁上方會多一行紅字:

錯誤: 目前使用的瀏覽器不支援 Cookie 或 Cookie 遭到瀏覽器封鎖。使用者必須啟用 Cookie 才能使用 WordPress。

帳密正確卻登不進去,問題幾乎都和 Cookie 有關。這篇先說明 WordPress 登入是怎麼運作的,再照順序檢查 5 個原因。

為什麼會一直跳回登入頁:WordPress 怎麼記得你登入了

你按下登入,WordPress 確認帳密正確後,會在你的瀏覽器存一組「登入 Cookie」,像是一張通行證。之後你每打開一個後台頁面,瀏覽器都會把這張通行證交給網站,網站看到了,就知道你已經登入。

為了確認瀏覽器能存 Cookie,WordPress 在你打開登入頁的時候,會先送一個「測試用的 Cookie」;你按下登入時,再檢查這個測試 Cookie 有沒有被帶回來。沒有帶回來,就顯示上面那行紅字。

所以,只要通行證存不起來、存錯地方,或網站沒辦法把通行證發出來,你就會一直回到登入頁。

原因一:瀏覽器擋了 Cookie

最先檢查的是瀏覽器本身。瀏覽器設定成封鎖所有 Cookie、裝了擋 Cookie 的擴充功能,或用了某些隱私模式,都可能讓通行證存不起來。

先換一個瀏覽器,或用另一台電腦、手機試試看。換了就能登入,問題就在原本那個瀏覽器的設定。也可以把這個網站的 Cookie 清掉再登入一次。

原因二:網站位址和你打開的網址不一致

這是換了瀏覽器也沒用時,最常見的原因。

到後台「設定 → 一般」,「WordPress 位址 (網址)」和「網站位址 (網址)」這兩個欄位,要和你實際打開的網址完全一致。如果設定寫的是 https://www.example.com,你卻從 https://example.com(沒有 www)登入,會發生這樣的事:

WordPress 把通行證發給「沒有 www」的網址,登入後卻把你送到設定裡「有 www」的後台。瀏覽器在有 www 的網址找不到通行證,網站就以為你沒登入,又把你送回登入頁。如果主機那邊又設定了「有 www 一律轉到沒有 www」,你每次都會被帶回沒有 www 的登入頁,登入幾次都是一樣的結果。

我們在測試站重現了這種情況:把網站位址設成另一個網址,從原本的網址登入。帳密正確、登入也成功了,通行證存在原本的網址上,接著被轉到另一個網址的後台,馬上又被送回登入頁,網址後面多了 reauth=1,等於要你重新登入。

http 和 https 不一致,也會發生類似的情況。修正的方法,是把兩個欄位改成網站實際使用的網址;後台進不去的話,可以在 wp-config.php 設定,做法在〈WordPress 網址改錯進不去後台?〉。網址要統一成哪一種,在〈WordPress 網址統一成有 www 或沒有 www〉。

原因三:Cookie 的網域設錯

有些網站的 wp-config.php 裡,會有一行指定 Cookie 網域的設定:

PHP
define( 'COOKIE_DOMAIN', 'www.example.com' );

這行常是網站搬家、換網址之前留下來的。網址換了,這裡卻還寫著舊的網域,WordPress 就會把通行證發給舊網域,瀏覽器不會收下。

我們在測試站把這個值設成另一個網域,帳密正確,登入時一樣出現「目前使用的瀏覽器不支援 Cookie 或 Cookie 遭到瀏覽器封鎖」。所以看到這行紅字,不一定是瀏覽器的問題,網站的設定也可能是原因。

一般的網站不需要這一行。打開 wp-config.php 找找看,有的話,先下載一份備份,再把這一行刪掉或改成正確的網域。

原因四:網站在發通行證之前,就先送出了內容

這個原因的紅字不太一樣:

錯誤: Cookie 因為未預期的輸出而遭到封鎖。

通行證要在網頁內容送出之前發出去。如果某個 PHP 檔案在開頭多了一個空行或空白,網站一打開就先送出了這個空白,後面要發通行證時已經來不及了。

我們在測試站放了一個開頭多一個空行的檔案,帳密正確,登入時就出現這行紅字。最常見的位置是 wp-config.php、佈景主題的 functions.php,通常是手動修改過檔案之後發生。原因和修法在〈WordPress 出現「Cannot modify header information - headers already sent」怎麼辦?〉。

原因五:快取或安全性外掛

快取外掛把登入頁或後台頁面也快取起來,你看到的永遠是舊的登入頁;或是安全性外掛限制了登入的次數、來源、網址,都可能讓你一直回到登入頁。

用 FTP 或主機的檔案管理員,把 wp-content/plugins 資料夾暫時改名,所有外掛就會停用。能登入了,就是外掛造成的,把資料夾名稱改回來,再一個一個停用找出是哪一個。網站前面有 Cloudflare 這類服務的,也要確認沒有快取到後台和登入頁。

忘記密碼的情況

如果是密碼真的忘了,登入頁下方有「忘記密碼?」,輸入帳號或 Email 就會收到重設密碼的信。收不到信的話,可能是網站寄不出信,處理方式在〈WordPress 寄不出信怎麼辦?〉。登入安全的設定,在〈WordPress 登入安全怎麼做?〉。

正威網路行銷是 25 年經驗的基隆網頁設計工作室,網站管家年費包含系統、外掛與安全性更新和基礎後台管理服務,台北與全台客戶也歡迎免費諮詢。

分享這篇文章

返回文章列表更多「Wordpress代碼教學」文章

發表留言

還沒有人留言,歡迎第一個分享你的想法或問題。留言經審核後才會顯示,Email 不會公開。

讓我們一起打造
您的專屬網站!