2017-09-06 59 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服务器”字段覆盖或如果该字段为空,则将其删除