做web开发和测试的,难免需要经常修改hosts来指定某个域名访问某个特定的IP;在windows中,每次修改了C:\windows\system32\drivers\etc\hosts,都需要重启浏览器才生效。今天我就这个问题就行了学习,下面介绍三种方法,当然不一定对每个人都有效,可以尝试一下吧。
大概原因是:应该是dnscache服务cache了dns查询结果。
方法一:命令行(cmd)运行:ipconfig /flushdns     #清除DNS缓存内容。
ps:ipconfig /displaydns    //显示DNS缓存内容

方法二:修改注册表:HKeyCurrentUser\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings,新建:DnsCacheEnabled  0x0 (REG_DWORD)
DnsCacheTimeout 0x0 (REG_DWORD)
ServerInfoTimeOut 0x0 (REG_DWORD)这三个DWORD。

方法三:打开:控制面板-管理工具– 服务, 在其中找到“DNS Client” 将其停用并改为手动模式(做了这个后,运行ipconfig /flushdns就没必要了,也运行不成功)

如果是使用Firefox浏览器,强烈推荐DNS Flusher插件,换了hosts绑定后,只需要使用一下这个插件,就会使HOST绑定立即生效;非常好用的!~

另外,在Linux下修改/etc/hosts,若想要它立刻生效,运行source /etc/hosts应该就可以了(这涉及到source命令的功能,下次再总结一下吧)

原文 :http://renyongjie668.blog.163.com/blog/static/16005312010052284916/