解決Windows中修改hosts文件不起作用的問題

遭遇

今天遇到一怪事:修改hosts文件不起作用。我要配置本機的nginx分發來模擬線上環境,必須得改hosts文件。

搜尋

用百度一搜:什麼“保證hosts文件編碼爲ANSI”,什麼“執行net stop Dnscache”,什麼“執行ipconfig /flushdns”,全都不適用。

分析

根據”正誤對比”的解疑思路,我拿有問題的(problematic)hosts文件跟正常的services文件對比,發現hosts文件的權限列表少了兩行記錄。暫不確定“修改hosts文件不起作用”是因“hosts文件的權限不對”導致的,亟待證實。

解決

首先將services複製爲hosts2,發現權限也沒變。
然後編輯hosts2,清空內容,並將原hosts文件的內容複製過來。
最後將hostshosts2的名稱互換,新的hosts文件終於起作用了!

反思

話說回來,這個問題的產生也是我“偷懶”導致的。
那是因到hosts文件的路徑太長,我就在創建了一個符號鏈接C:\etc\hosts指向目標C:\Windows\System32\drivers\etc\hosts,後來符號鏈接的權限變化作用到了目標文件,導致目標文件不能正常被DNS服務程序監聽/讀取,從而導致修改不起作用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章