以下是分步骤的排查和解决方法:

一、检查文件编码与权限问题

  1. 确保使用ANSI编码
    hosts文件必须保存为
    ANSI编码,否则系统无法识别。用记事本编辑时,保存界面选择「另存为」,编码选择「ANSI」。
  2. 以管理员权限编辑文件
    • 右键点击记事本,选择「以管理员身份运行」再打开hosts文件(路径:C:\Windows\System32\drivers\etc\hosts)。
    • 若无法直接修改,可尝试将hosts文件复制到桌面编辑后,再替换原文件(需管理员权限)。
  1. 关闭文件只读属性
    右键hosts文件 → 属性 → 取消勾选「只读」→ 应用。

二、处理DNS缓存与网络配置

  1. 强制刷新DNS缓存
    管理员身份运行CMD,依次执行:
ipconfig /release    # 释放当前IP配置 
ipconfig /renew      # 重新获取IP 
ipconfig /flushdns   # 清除DNS缓存 
``` ```  
此操作可跳过重启,立即生效[5]()[6]()[9]()。
  1. 检查hosts条目格式
    确保格式为
    IP地址 域名(例如 127.0.0.1 example.com ),使用制表符或空格分隔,且无多余符号(如#注释)。
    提示:若测试本地服务,建议同时添加IPv6条目 ::1 example.com

三、排查软件干扰与系统设置

  1. 禁用安全软件或防火墙
    某些安全软件(如360、火绒)可能重置hosts文件。修改后建议将hosts文件设为「只读」防止覆盖。
  2. 验证网络服务状态
    • 检查「DNS Client」服务是否运行:
      Win+R输入
      services.msc → 找到「DNS Client」→ 确保状态为「正在运行」。
    • 若使用VPN或代理,需关闭后测试。

四、其他可能性

  1. 检查hosts文件路径与重复条目
    • 确认修改的是正确路径下的hosts文件。
    • 删除重复或冲突的域名映射。
  1. 重启网络设备与系统
    若上述方法无效,尝试重启路由器或电脑,确保所有配置生效。

五、验证是否生效

执行 ping 域名 或浏览器访问测试。若仍不生效,可通过以下命令查看DNS解析结果:

nslookup 域名

若返回IP与hosts中一致,则配置成功;否则需重新检查步骤。


总结流程

  1. 用管理员权限编辑hosts → 保存为ANSI编码 → 关闭只读。
  2. 刷新DNS缓存 → 检查条目格式 → 禁用安全软件干扰。
  3. 验证服务与网络 → 最终重启设备。

通过以上步骤,90%以上的hosts不生效问题可解决。若仍存在问题,可能是系统权限或文件损坏导致,建议备份后重建hosts文件。