2017-09-06 56 views
-2

我剛剛將我的網站移動到不同的主機,現在想要添加一行到我的主機文件,看看是否一切工作正常。但編輯後,我仍然被定向到當前主機,但是當我ping通url時,我得到新的ip adres。主機文件mac sierra不工作

我搜查了很多,並嘗試了一切我能找到,但沒有任何工作。

我在hosts文件行: 1.2.3.4 example.com www.example.com

我測試了在Safari,Firefox和Chrome,清除了緩存,...

在Windows電腦我很容易得到它的工作,但我想讓它在我的Mac上工作。有什麼建議麼?

回答

0

我有兩個猜測:

  1. 您使用的Web代理(包括透明代理和某些類型的防火牆)?如果是這樣,那麼DNS查詢將在代理服務器上完成,並忽略您在/ etc/hosts文件中的內容。

  2. 是/ etc/hosts行格式化的究竟是對不對?如果它甚至有點偏離(包括隱形字符在內),它將無法正常工作。您可以使用LC_ALL=C cat -vet /etc/hosts進行檢查,它可以將任何非打印字符轉換爲打印(可見)表示。你記錄應該是其中之一:

    1.2.3.4^Iexample.com^Iwww.example.com$ 
    

    1.2.3.4 example.com www.example.com$ 
    

    ^I s爲製表符的可打印表示,和$代表表示線條的末端換行。如果行以^M$結尾,那麼你不知何故在那裏得到了一個DOS/Windows格式的行(Windows文本編輯器?從Windows複製的文件?),帶回車符(^M)以及換行符該行,並且Mac認爲回車符是您定義的域名的一部分。

+0

感謝您的支持建議,我沒有使用任何類似的Web代理。我得到你在我的hosts文件上給出的第一個例子,所以一切都很好。 – maesk

0

看系統偏好設置 - >網絡

如果當前活動的「位置」有列出,則該系統將創建文件「的/etc/resolv.conf」,這將列出一個或多個DNS服務器這些名稱服務器作爲分辨率的地方,完全繞過/ etc/hosts

resolv.conf由「網絡」首選項動態創建,並基於當前活動的「位置」的「DNS服務器」字段覆蓋或如果該字段爲空,則將其刪除