直接修改windows hosts文件是最底层可靠的本地域名解析方式,需以管理员权限打开c:\windows\system32\drivers\etc\hosts,按“ip+空格+域名”格式编辑,保存后执行ipconfig /flushdns刷新缓存并用ping验证生效。
直接修改 windows 中的 hosts 文件是实现本地域名自定义解析最底层、最可靠的方式。它不依赖网络服务,优先级高于 dns,改完即生效(需刷新缓存)。关键不在“能不能改”,而在“怎么改得稳、用得顺、不踩坑”。
找准位置,确认权限
hosts 文件固定在:C:\Windows\System32\drivers\etc\hosts,它没有扩展名,是纯文本文件。系统默认禁止普通用户写入——这不是错误,而是安全机制。所以不能双击打开编辑,也不能拖进记事本再保存。
- 必须以管理员身份运行文本编辑器(如记事本、Notepad++、VS Code)
- 在编辑器中通过“文件 → 打开”,路径栏粘贴完整路径,文件类型选“所有文件(*.*)”,才能看到并打开它
- 若仍提示“拒绝访问”,说明当前账户未被授予该文件的“完全控制”权限,需手动在文件属性 → 安全 → 高级中添加并赋予
规范编辑,避免失效
格式极其简单,但容错率低:每行一条规则,IP 和域名之间用空格或 Tab 分隔,不允许有中文标点、多余空格或隐藏字符。
- 有效示例:
127.0.0.1 dev.myapp.local或192.168.1.50 api.staging.com - 注释用 # 开头,整行生效,例如:
# 测试环境映射 - 屏蔽网站可指向无效地址,如:
0.0.0.0 doubleclick.net - 修改前建议复制原文件备份,比如另存为
hosts.backup
保存后必须刷新缓存
系统和浏览器都会缓存 DNS 结果,改了 hosts 不刷新,旧解析依然生效。
- 打开命令提示符(管理员),执行:
ipconfig /flushdns - Chrome 用户还需清浏览器缓存:在地址栏输入
chrome://net-internals/#dns,点击 Clear host cache - 验证是否生效:在命令行运行
ping dev.myapp.local,看返回的 IP 是否为你设置的地址
长期管理推荐工具辅助
频繁切换开发/测试/生产环境时,手动编辑容易出错、难回溯。用专业工具能大幅提升效率和安全性。
- SwitchHosts!(免费开源):支持多方案分组、一键启用/禁用、语法高亮、行号点击快速注释/取消注释
- 启动时必须“以管理员身份运行”,否则无法写入系统 hosts
- 它会自动备份原始文件,并允许你随时还原或对比差异,比纯手工更可靠











