这太疯狂了,我以前从来没有遇到过这个问题……我喜欢使用 hosts 文件来阻止某些网站。但出于某种原因,我的 hosts 文件没有阻止任何网站。我看了这篇文章 (Hosts 文件无法正常工作) 并尝试了大部分(如果不是全部的话)方法,但我仍然无法使用我的 hosts 文件来阻止网站。我还能做些什么来解决这个问题?我已经使用 hosts 文件多年了,从来没有遇到过这个问题。
注意:我刚收到这台电脑(翻新的),所以他们在发货前可能做了一些奇怪的设置?我不这么认为,但我想我应该提一下。
这是我的主机文件条目的方式...也许我遗漏了什么?
127.0.0.1 localhost
127.0.0.1 website.com
127.0.0.1 www.website.com
127.0.0.1 website2.com
127.0.0.1 www.website2.com
答案1
仅更改 hosts 文件是不够的。您还需要刷新 DNS 缓存。
打开命令提示符并输入:
ipconfig /flushdns
现在,通过 ping 其中一个域(最好是您最近更改的域)来测试它是否有效:
ping www.website2.com
看看它是否返回 127.0.0.1
如果 ping 不起作用,则可能是主机文件上的权限不正确。主机文件上的权限不正确可能会导致主机文件被任意锁定,从而阻止 Windows 正确读取它并填充 DNS 缓存。修复主机文件上的权限,然后再次执行 ipconfig /flushdns。
如果 ping 成功,但网站无法正确加载,则表明网站仍在从缓存中加载。清除浏览器缓存即可解决此问题。
答案2
奇怪,那个特定的 hosts 文件肯定有问题,我仍然不知道它是什么......
我去了:https://support.microsoft.com/en-us/help/972034/how-to-reset-the-hosts-file-back-to-the-default并按照替换 hosts 文件的步骤操作,然后我手动将其放入我的网站,现在它可以正常工作了。早些时候,我尝试从上述 URL 复制并粘贴主机文件内容,但没有成功。无论如何,没有更多问题了!
答案3
您需要将您的环回地址添加为主 DNS,以便能够从主机文件中读取。