前几日我的win10操作系统突然出现问题,所有软件都打不开,U盘也识别不了,不得不选择恢复系统。恢复操作系统之后,避免不了的要重新安装之前已安装的各种开发工具软件。安装配置后xampp集成工具后,配置本地虚拟域名发现,本地域名不能识别,发现时hosts文件没有生效。可能的原因以及相应的解决方案如下:
第一种情况,hosts文件后缀名错了,先排查hosts文件是否有扩展名,因为hosts文件本身是没有文件扩展名的,如果不小心被加上了如txt等的文件扩展名,就会失效。当然,这么多年还没犯这种错误。
第二种情况,hosts文件格式不正确,hosts文件中是有一定格式的:即单行一个dns的ip地址映射,可以一个ip对应多个域名,每行的ip和域名之间至少有一个空格或TAB键。通常我们直接输入都是正确的,而当我们复制粘贴进来的文本时,有时会因为换行符的问题不生效。解决方案,通过记事本或者notepad++修改即可。
第三种情况,本地DNS的缓存问题,因为hosts是本地dns解析服务,有一个dns client服务在后台运行,该服务有一个缓存机制,或许会导致hosts配置不能及时生效。可以尝试刷新dns缓存或手动重启dns client服务来解决。刷新命令为:ipconfig /flushdns,手动重启dns client 服务的方法为:cmd->services.msc->找到dns cilent 服务->停止->重启。可惜,尝试了刷新命令,仍然没有效果,手动重启dns client失败。
最后尝试我删除了etc目录下的hosts文件,重新编辑了一个hosts文件粘贴进去了,问题解决。