我在Windows(10)中没有类似的问题,而我在Docs上搜索的任何内容似乎都表明了为什么,如果这种情况不起作用,则是这种情况
- 我打开终端和编辑/etc/主机(我在PC上做了很多次,并且在OSX上也做了很多年)
- 只是为了笑,如果那不起作用,我输入
sudo killall -HUP mDNSResponder
- 那么,我重新启动更多的笑容
这绝对没有效果。谁能指出我为什么?谢谢。
update :令人尴尬的事实是,我在/etc/hosts
中输入的行是反向的,即首先是域,AS:
mydomain.com 192.168.33.10 #wrong
192.168.33.10 mydomain.com #what it should have been
然而,公认的答案写得很好,值得赞赏。
我已经看到了在macOS(/os x)上使用/etc/hosts的两个常见问题:
-
不正确的格式:/etc/hosts文件中的每个条目必须是IP地址,然后是空格或选项卡,然后是名称,然后在行末端的finefeed。尝试使用CAT -VET/ETC/主机打印主机文件以使正常看不见的字符可见。每行应该看起来像:
127.0.0.1^Iwww.example.com$ 127.0.0.1 www.example.com$
("^i"是一个选项卡,而" $"是行末尾的lineFeed。)如果条目列出了多个名称(也由空格或选项卡隔开)也可以。
如果您在" $"之前看到了"^M"(马车返回),则您的DOS/Windows格式化了文本,需要删除运输返回。
-
不正确的测试:不要使用命令行工具
dig
,host
和nslookup
,因为它们都直接测试DNS,因此绕过/etc/hosts文件。浏览器有时会缓存,这会带来误导性的结果。测试系统名称分辨率系统的"正确"方法是使用dscacheutil
命令:dscacheutil -q host -a name www.example.com
...但是,由于令人讨厌的详细信息,我倾向于使用
ping
,看看它要测试的地址。
我遇到了这个线程,以尝试在Macos Catalina上解决相同的问题,但没有成功。这是因为Macos Catalina还有另一件事。如果您将其更改为root用户,则只会在主机文件中更改文件(这不是使用sudo命令完成)!
!默认情况下,系统上没有根用户,因此这里有一个带有逐步指南的链接,可以这样做:https://support.apple.com/en-us/ht204012
然后我能够:
su
nano /etc/hosts
以获取更多信息:https://discussions.apple.com/thread/250805304
以下步骤为我工作
- Flushing DNS Sudo Killall -HUP MDNSRESPONDER(或在活动监视器中杀死DNS并重新加载)
2./etc/主机文件的更改读取版本应为-rw-r- r---。使用命令$ sudo chmod g r/ett/hosts和$ sudo chmod o r/etc/etc/主机
-
添加条目您想用ipxxx.xx.xx.com添加主机文件
-
最后移动了这两条线255.255.255.255广播:: 1 localhost管理员麦克书 - local
-
第二步再次