主机文件无法正常工作


4

我的主机文件存在一些问题。

127.0.0.1 localhost
127.0.0.1 whatever
127.0.0.1 sub.localhost
127.0.0.1 example.com

localhostwhatever两个工作。然而,其他人有奇怪的行为。

Ping sub.localhost

c:\>ping sub.localhost
Pinging sub.localhost [127.0.0.1] with 32 bytes of data:

Ping example.com

C:\>ping example.com
Pinging example.com [127.0.0.1] with 32 bytes of data:

一切似乎都没问题,但浏览example.com将打开正确的example.com页面@ 192.0.32.10,这不是预期的行为......(显然sub.localhost根本不工作)

任何想法为什么会这样?

更新1:从浏览器中删除代理配置解决了它sub.localhostexample.com但仍然没有工作......

更新2:更多信息......

C:\Documents and Settings\amatos>ping example.com
Pinging example.com [127.0.0.1] with 32 bytes of data:

C:\Documents and Settings\amatos>ping www.example.com
Pinging www.example.com [127.0.0.1] with 32 bytes of data:

C:\Documents and Settings\amatos>nslookup example.com
Server:   ac1.-------.pt  (# suppose this is the router address...)
Address:  192.168.202.2

Non-authoritative answer:
Name:    example.com
Address:  192.0.32.10

感谢迄今为止所有尝试过的人!


1
您使用的是哪个版本的Windows?
Hello71 2010年

主机有127.0.0.1 example.com,你说“浏览example.com,将打开正确的example.com页面@ 192.0.32.10”,这对我来说听起来不对。
bryan 2010年

Windows XP; @bryan,什么exaclty听起来不对?
acm 2010年

@acmatos:我和Bryan在一起 - 你似乎希望example.com转到127.0.0.1,但你也说当它转到192.0.32.10时,那就是'正确'。你真的想要哪一个?
boot13 2010年

192.0.32.10是example.com的正确IP。通过“正确”,他的意思是“在正常的DNS层次结构中注册”。
安德鲁J.布雷姆2010年

Answers:


4

您的Web浏览器是否使用代理?

我是(我在工作),当我连接到一个网站时,它似乎使用代理服务器认为的地址,而不是我的计算机认为的地址。


是的,我正在使用自动代理配置。在代理之前不应该检查主机文件吗?禁用代理将使sub.localhost工作,但不是example.com......正确方向的一步!:-)
acm 2010年

代理工作在比hosts文件更高的层上。您的浏览器永远不会连接到目标,代理服务器会这样做。
Andrew J. Brehm 2010年

我会接受这个答案,因为它是最有帮助的,代理问题最有可能导致我的问题。谢谢。
ACM

4

尝试打开命令行(cmd.exe)并执行ipconfig / flushdns,然后重新启动浏览器。

此外,我只是要问,因为它可能太明显或听起来太愚蠢。您是否尝试重新启动(或至少已注销然后登录)?我永远不会对这可以解决的问题感到惊讶。


谢谢,两个(dns刷新和重新启动)已经,但没有任何改变。如果我对重启也很有信心。:-)
acm 2010年

3

更新:从浏览器中删除代理配置解决了sub.localhost。example.com然而仍然​​没有工作......

您是否尝试访问www.example.com而不是example.com?两者都有区别!

如果您希望它们都转发到127.0.0.1,您也应该将www.example.com添加到hosts文件中。


同意TomWij,还要考虑您的浏览器可能会自动添加“www”。键入时,前缀为“example.com”。所以它正在加载一个与你想象的不同的网站。
CarlF 2010年

Nop,这不是问题,example.com和www.example.com都已添加到主机文件中,没有任何变化。
ACM

您是否尝试过使用其他浏览器?这可以帮助您确定它是否只是您的浏览器或它是一个系统范围的问题。
Tamara Wijsman 2010年

1

你说example.com打开192.0.32.10 - 它应该转到127.0.0.1,所以你写错了或者主机文件没有正确应用。

我不确定example.com问题,但对于其他人,我会说如果ping工作正常,它们工作正常,所以只需仔细检查您使用的网络服务器是否具有主机标头(或者您的任何设置)服务器)设置正确。

编辑 -

不确定为什么会这样,我要尝试的第一件事是不同的浏览器,如Firefox,因为它有自己的网络设置,不应受其他系统设置的影响。如果这解决了它,然后返回IE并在最后一个选项卡(Advanced)上,选择Reset删除可能设置此项的任何其他内容。

接下来,您可以尝试调整所选内容的优先级。

打开Registry Editor并导航到:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider

寻找HostPriority并确保它的数量低于DNSPriority。您也可以将其更改为较低的数字,例如5,以确保它优先于其他所有数字。

如果它仍然不起作用,我只会说要检查你的拼写等内容,但如果没有亲自看到机器就很难。


一切都写得很好......检查了一百万次。 localhost以及whatever正确解释并且都打开127.0.0.1,所以我认为主机文件正常工作是安全的,对吧?
acm 2010年

@acmatos - 您写道“example.com将打开正确的example.com页面@ 192.0.32.10” - 我很困惑你所说的正确的页面呢?此外,您是否尝试刷新DNS设置和/或重新启动计算机?
William Hilsum 2010年

威尔,我试图清除原始问题中的混乱。我尝试了两次dns刷新和重启没有成功...
acm

@acmatos - 更新。
William Hilsum 2010年

您好Wil,感谢您的努力,但仍然没有变化...我将更新OP更多信息。
ACM

0

刷新您的ARP缓存:

  1. 打开一个cmd窗口。
  2. arp -a 将显示所有ARP条目。
  3. arp -d 将删除条目(或特定条目)。

我也会刷新DNS条目:

ipconfig /flushdns
arp -d

ping <whatever>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.