
1、手指同时按住 windows 键和 X 键。
2、在电脑桌面右下角d出来的菜单里选择Windows Powershell。
3、在打开的powershell 界面输入notepad,按回车,就会出现记事本的界面。
4、在记事本界面点击文件,然后点新建,在d出来的窗口里找到路径c:\windows\system32\drivers\etc\,找到后可以看到目录里面是空白。点击右下角的选择文件,点击所有文件。
5、此时hosts文件就会出现在你眼前,点击hosts文件。
6、d出hosts文件的编辑页面,可以在里面添加你需要的IP地址和主机名了。
7、添加完毕以后,可以直接按ctrl+s保存,也可以直接点击记事本左上角的文件,然后点保存。Hosts文件就修改成功了。
Hosts文件具体指什么呢?Hosts文件是用于本地dns服务的,采用ip
域名
的格式写在一个文本文件当中,
Windows系统上一般存放在系统盘的system32目录下,
比如
C:\windows\system32\drivers\etc\,
本地主机一般都被定义为
127.0.0.1
locahost
。根据微软的相关文档,
hosts文件必须是ascii编码方式,
如果你存为unicode格式将不会被正确读取。
修改hosts文件后设置无效的原因及解决方法:
修改hosts将域名指向新的ip总是无法生效,
其实是由“DNS
Client”
服务导致的,
它是缓存dns用的,
所以说修改了hosts的文件是不能马上生效的,
需要一段时间的延时,
通常可以用ipconfig
/flushdns来刷新dns缓存,
但这个方法对于我的问题似乎没有什么效果。用户可以参考以下方法来处理:
解决方法一:打开控制面板-
管理工具
–
服务,
在其中找到“DNS
Client” 将其停用并改为手动模式即可。
解决方法二:
1、用户可以在桌面创建一个host文件(无扩展名)并编辑好里面的内容
2、然后把C:\Windows\System32\Drivers\ect\下的host文件删除
3、删除后再把自己新创建的host文件放在ect目录中。
Update:如果浏览器使用了代理工具,修改 Hosts 也不会生效。这里是因为,浏览器会优先考虑代理工具(如添加 pac 文件、SwitchySharp等)的代理,建议调试的时候先关闭这些代理。
使用 pac 文件代理有的时候部分文件的代理不生效,应该是 pac 对应的代理服务器上,做了部分处理。
部分浏览器也有 DNS 缓存,如 chrome(chrome://dns),这是为什么重启浏览器也不生效的原因,一般设定时间为 60s (如 Firefox)。
浏览器有DNS缓存,系统也会存在 DNS 缓存,有的时候即便在 chrome://dns 清空了浏览器 DNS 缓存,依然不生效,是因为系统 DNS 缓存还未刷新,刷新方式可以看这篇文章。
相信很多同学都在使用 SwitchHosts/iHosts/Gas Mask 等 Hosts 管理工具,当然也有人直接修改 /etc/hosts 或者system32/drivers/etc/hosts 文件,而经常遇到的疑问是:咿,刚才不是修改并且保存了么,为何 Chrome 浏览器还不生效呢?
有人说重启下浏览器就好了,
有人说清空下缓存 DNS(chrome://net-internals/#DNS)就好了,
有人说隐私模式下打开就好了,
有人说等一分钟吧...
结果就是,进入隐私模式的都好了,重启、清空缓存DNS和等一分钟的同学还在继续纠结中。。。
上面提到的三个工具,SwitchHosts/iHosts/Gas Mask,其实也只有 iHosts 生效了(Mac下)。
开发过程中我们会无数次的切换 Hosts,如果不知道原理,我们在测试的时候还是很心惊胆战的
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)