我在OS X 10.7上运行MAMP。 我已经在Apache中build立了一个虚拟主机,如下所示:
<Directory "/sites/example.com/"> Allow From All AllowOverride All </Directory> <VirtualHost *:80> ServerName "example.local" ServerAlias "www.example.local" DocumentRoot "/sites/example.com" </VirtualHost>
在/ etc / hosts中我已经添加了这个:
127.0.0.1 example.local
一切工作正常,最多也许一两个星期前是非常快的。 我不确定发生了什么变化,但现在,几乎每次页面加载时,请求的DNS查找部分都会花费5秒以上,正如Firebug和Chrome所报告的那样。
Ping本地地址看起来不错:
->ping example.local PING example.local (127.0.0.1): 56 data bytes 64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.073 ms
以下是Chrome显示的内容:

如果在第一次连接后立即刷新,则DNS查找似乎被caching。 但稍后再次刷新导致再次慢速查找。
任何帮助将不胜感激!
那么, example.local通常是一个mDNS(Zeroconf)地址,所以你的mDNSconfiguration有可能以某种方式破坏,并且在返回到/etc/hosts之前需要等待几秒钟。
为什么不只是添加localhost作为ServerAlias ,只是通过该名称访问它? 否则,至less要使用一个没有顶级域名的域名,这个域名的含义与你的系统不同。
Yuo也可以使用没有.something的域,所以就是没有.local example 。 正如在这里提到http://www.justincarmony.com/blog/2011/07/27/mac-os-x-lion-etc-hosts-bugs-and-dns-resolution/它看起来OSX使用.local Bonjour 。
我只用没有.local的例子进行了testing,似乎解决了这个问题。
我在使用AJAX时遇到了非本地站点的问题 – 我设法通过将以下行添加到/ etc / hosts
::1 slow-site.url fe80::1%lo0 slow-site.url
在每个违规网站的主要区块之上,其中“slow-site.url”是“example.local”或其他。
这是一个IPv6地址 – 更多细节在这里:
https://superuser.com/questions/241642/what-is-the-relevance-of-fe801lo0-localhost-in-etc-hosts