最近在幫客戶將網站從舊的虛擬主機搬到另外一台虛擬主機 (採用cPanel),搬完以後卻發現網站一直被轉址到 cgi-sys/defaultwebpage.cgi 的頁面

預覽圖:

1503032181816.jpg

預覽圖二

1503032129188.jpg

根據畫面錯誤提示,原本預計會是因為伺服器的Apache未重啟或者是DNS的問題,但後來使用windows的cmd工具去 ping 網址,卻發現 ip已經是新主機的ip位置,因此可以排除是Apache未重啟問題或DNS的問題。後來又猜測可能是.htaccess配置錯誤,但詳細檢查後也排除了這個可能性。


最終,嘗試使用chrome無痕,發現也是出現一樣的畫面(所以也將快取問題排除掉)(一度想放棄了),在絕望之際嘗試使用firefox,發現到竟然可以用!!! 反覆測試後,原因竟然真的是因為 cache 的問題... (事實證明chrome無痕也是會有快取的...)


原因

問題的原因在於,一般透過網域去瀏覽網站,瀏覽器會將此網域所對應的ip位置進行快取,當下次瀏覽時,瀏覽器就自動將網域導向此ip (大概可以減少解析ip的時間?)

但由於我們已經將網站搬到另外一台主機去,所以網站的ip就與原本的不同了,不過瀏覽器因為快取的原因,還是將此網域自動導向舊的ip去,所以就出錯了!


解決辦法

要解決此問題其實很簡單,只要打開 開發人員工具(Ctrl + Shift + i) => 點圖中的 Settings (F1)

cpanel-cgi-sys-defaultwebpage-cgi-1.PNG


把 Network 當中的 Disable cache (while DevTools is open) 給勾選起來

cpanel-cgi-sys-defaultwebpage-cgi-2.PNG

這樣就能解決問題囉!!


題外話

老實說原本還真沒想到問題會是出現在本地端,還一直以為是服務端的問題呢....真是錯怪主機商了~.~


文章轉載或引用,請保留原文出處!!3Q