很多朋友可能碰到了这样的问题,用来屏蔽某些恶意网址的时候,修改了hosts 文件,但是却总是不生效。上网搜索了一下,Windows7系统和Vista系统、XP系统都碰到了此类情况,看来问题还很普遍。今天特别附上一则解决办法,未必通杀,但确实是解决了很多这种情况下的问题。
解决这个问题之前,我们先来简略谈下hosts文件,很多新手朋友可能还不了解,软媒最早在Vista之家(www.vista123.com)上面曾经多次介绍过网络反黑文件,就是通过修改hosts文件来实现对恶意网址的屏蔽甚至转向的。
简单的说,hosts文件是用于本地dns服务的,采用ip 域名 的格式写在一个文本文件当中, Windows系统上一般存放在系统盘的system32目录下, 比如 C:\windows\system32\drivers\etc\, 本地主机一般都被定义为 127.0.0.1 locahost 。
根据微软的相关文档, hosts文件必须是ascii编码方式, 如果你存为unicode格式将不会被正确读取。
回到今天的主话题,修改hosts将域名指向新的ip是总是无法生效, 试过很多办法,问题却依然存在, 于是上微软的网站寻找答案, 最终发现时一个“DNS Client” 服务的问题, “DNS CLient”服务是缓存dns用的, 所以说修改了hosts的文件是不能马上生效的, 需要一段时间的延时, 通常可以用ipconfig /flushdns来刷新dns缓存, 但这个方法对于我的问题似乎没有什么效果, 于是干脆打开控制面板- 管理工具 – 服务, 在其中找到“DNS Client” 将其停用并改为手动模式。
于是问题就解决了,hosts文件随时修改随时生效。注意,本文说的无效,是指的设置后无效,不是指的没有权限修改hosts。
还是那句话,这个办法未必对所有朋友碰到的情况都有效,仅作为一个例子来借鉴一下吧。欢迎高手朋友们不吝给出更好的解决办法,一起解决我们曾碰到的疑难Windows问题。
Windows7之家(www.win7china.com),凝聚你我他