需以管理员权限编辑C:\Windows\System32\drivers\etc\hosts文件,在末尾添加“IP+空格+域名”格式映射(如127.0.0.1 dev.local),保存后执行ipconfig /flushdns刷新缓存,并用ping或nslookup验证是否生效。

想让电脑访问某个域名时直接跳转到指定的IP地址,比如把dev.local指向本地服务或把test.com指向局域网服务器,就得修改Windows系统的Hosts文件。这个操作不依赖网络DNS,改完就能绕过远程解析,但必须用管理员权限编辑,否则保存会失败。
找到并安全打开Hosts文件
Hosts文件真实路径是C:\Windows\System32\drivers\etc\hosts,它没有扩展名,系统默认隐藏且受保护。直接双击打不开,也不能拖进普通记事本里编辑。
按Win + R,输入notepad %windir%\system32\drivers\etc\hosts,回车;弹出UAC提示就点“是”——这是最稳的打开方式,一步到位调起带权限的记事本并加载文件。
如果提示“无法保存”,说明记事本没以管理员身份运行。此时别关窗口,先关闭记事本,再右键开始菜单里的“记事本”,选“以管理员身份运行”,然后通过“文件→打开”手动导航到该路径,记得在文件类型下拉框中选“所有文件(*)”,否则hosts文件不会显示。
添加正确的映射规则
在文件末尾另起一行,严格按“IP地址 + 至少一个空格 + 域名”格式写,例如:
127.0.0.1 dev.myapp.local
192.168.1.50 api.testenv.com
0.0.0.0 tracker.example.net
注意:IPv4和IPv6不能混在同一行;www.test.com和test.com是两个独立域名,必须分别添加;#开头的整行是注释,不会生效。
【不要用Tab键分隔IP和域名】 很多编辑器默认用Tab缩进,但Hosts只认空格。用Tab会导致解析失败,且错误不报错、只静默忽略该行。
保存文件并刷新DNS缓存
Ctrl + S保存,如果弹出“权限不足”警告,说明上一步没走对——必须确认记事本是以管理员身份运行的,否则无法写入系统目录。
保存成功后,必须立即清掉本地DNS缓存,否则旧解析结果还在内存里,浏览器仍会沿用之前的IP。
以管理员身份打开命令提示符(Win+X → Windows Terminal (Admin) 或 CMD (Admin)),执行:
ipconfig /flushdns
看到“已成功刷新 DNS 解析缓存”就表示完成。
验证配置是否生效
方法一:用ping命令测试
在CMD中输入 ping dev.myapp.local(把你配的域名换进去),回车。如果返回的IP是你写的那个(比如127.0.0.1),说明Hosts已接管解析。
方法二:用nslookup确认是否绕过DNS
输入 nslookup dev.myapp.local,若结果显示“DNS 服务器: 未指定”,就代表完全走的是Hosts文件,没发请求给任何DNS服务器。
浏览器访问前,务必用无痕窗口(Ctrl+Shift+N),避免被HSTS策略、HTTPS预加载或重定向缓存干扰判断。


















