
網站搬到新主機、或是新網站準備上線時,網域的 DNS 要改指向新主機的 IP。DNS 生效通常要幾分鐘到幾個小時,有時更久;在這段期間,每個人連到的可能是舊主機,也可能是新主機。
這時候如果想先確認新主機上的網站一切正常再正式切換,可以修改自己電腦的 hosts 檔:它會讓你的電腦略過 DNS,直接把網域連到你指定的 IP。只影響你自己這台電腦,不會影響其他訪客。
hosts 的寫法
hosts 檔裡一行一筆,格式是「IP 位址、空白、網域」:
純文字
203.0.113.10 example.com.tw
203.0.113.10 www.example.com.tw203.0.113.10換成新主機的 IP(主機商會提供)。- 有
www和沒有www的網址是兩個不同的名稱,兩行都要寫。 - 開頭加上
#的那一行會被忽略,可以用來暫時停用或寫註解。
Windows 的修改步驟
hosts 檔的位置是:
純文字
C:\Windows\System32\drivers\etc\hosts這個檔案需要系統管理員權限才能存檔,直接用記事本打開會無法儲存。步驟如下:
- 在開始功能表搜尋「記事本」,按右鍵選「以系統管理員身分執行」。
- 在記事本選「檔案 → 開啟」,貼上上面的路徑;右下角的檔案類型要改成「所有檔案」,才看得到 hosts(它沒有副檔名)。
- 在檔案最後面加上你的設定,存檔。
- 清除 DNS 快取:開啟「命令提示字元」,輸入下面的指令後按 Enter。
Shell / 終端機
ipconfig /flushdnsMac 的修改步驟
- 打開「終端機」(應用程式 → 工具程式)。
- 輸入下面的指令,按 Enter 後輸入電腦的登入密碼(輸入時畫面不會顯示任何字,是正常的):
Shell / 終端機
sudo nano /etc/hosts- 用方向鍵移到最後面,加上你的設定。
- 按
Control + O、再按 Enter 存檔,按Control + X離開。 - 清除 DNS 快取:
Shell / 終端機
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder確認有沒有連到新主機
改好之後,可以用下面的方法確認:
- 在命令提示字元(Mac 用終端機)輸入
ping example.com.tw,看顯示的 IP 是不是新主機的 IP。 - 在新主機的網站上做一個只有新網站才有的小改變(例如在頁尾加一個字),看瀏覽器上有沒有出現。
改了沒效果?常見原因
- 瀏覽器還記得舊的結果:把瀏覽器完全關閉再打開,或開一個無痕視窗試試。
- 瀏覽器開了「安全 DNS」:Chrome、Edge、Firefox 的安全 DNS(DNS over HTTPS)在某些設定下會略過 hosts 檔,可以在瀏覽器的隱私權與安全性設定裡暫時關閉,或換一個瀏覽器測試。
- 沒有用系統管理員身分存檔:Windows 上存檔時沒有出現錯誤,但其實存到別的地方去了。重新用系統管理員身分打開確認內容。
- 格式錯誤:IP 和網域中間要有空白,網域不要加
http://或結尾的/。
出現「不安全」的憑證警告?
新主機還沒安裝這個網域的 SSL 憑證時,用 https 連線會看到憑證警告,這是正常的。可以先用 http 預覽,或請主機商先安裝憑證。
測試完記得刪掉
DNS 正式生效後,記得把 hosts 裡加的那幾行刪除(或在前面加上 #)。不然哪天網站又搬家,你的電腦還會一直連到舊的 IP,會以為網站壞掉了。
想知道 DNS 是否已經在各地生效,可以用 nslookup example.com.tw 指令,或搜尋「DNS propagation checker」這類線上工具查詢。
延伸閱讀
網站搬家最怕搬到一半才發現東西壞了,先在新主機測試好再切換最保險。正威網路行銷是 25 年經驗的基隆網頁設計工作室,也提供網站維護託管,網站搬家的問題歡迎來聊聊。







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