我刚将我的网站移到另一台主机,现在想在我的hosts文件中添加一行,看看是否一切正常。但是在编辑之后我仍然被定向到当前的主机,但是当我ping这个网址时,我得到了新的ip地址。
我经常搜索并尝试了我能找到的所有内容,但没有任何效果。
我在主机文件中的行: 1.2.3.4 example.com www.example.com
我在safari,firefox和chrome上测试了它,清除了我的缓存,...
在Windows PC上,我很容易让它工作,但我想让它在我的Mac上工作。有什么建议吗?
答案 0 :(得分:1)
我有两个猜测:
您使用的是网络代理(包括透明代理和某些类型的防火墙)吗?如果是,则在代理服务器上进行DNS查找,并忽略/ etc / hosts文件中的内容。
/ 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
是制表符的可打印表示,$
表示指示行尾的换行符。如果该行以^M$
结尾,那么您在某处获得了DOS / Windows格式的行(Windows文本编辑器?从Windows复制的文件?),并带有回车符({{1} })以及该行末尾的换行符,并且Mac认为回车字符是您定义的域名的一部分。
答案 1 :(得分:0)
查看系统偏好设置 - >网络
如果当前活动的“位置”列出了一个或多个DNS服务器,则系统将创建文件“/etc/resolv.conf”,该文件将列出这些名称服务器作为解决的位置,绕过/ etc / hosts完全
resolv.conf由“网络”首选项动态创建,并根据当前活动“位置”的“DNS服务器”字段覆盖,如果该字段为空,则删除