必须清空dns缓存才能使hosts修改生效:1.按win+r输入cmd回车;2.输入ipconfig /flushdns回车;3.看到“windows已成功刷新dns解析程序缓存”即完成。

Win11修改完hosts文件后,浏览器或命令行仍可能沿用旧的DNS缓存记录,导致新配置的域名映射不生效——这不是文件没改对,而是系统还在“记着上一次查到的结果”。必须手动清空本地DNS解析器缓存,才能强制它重新读取hosts文件。
用命令提示符刷新DNS缓存
这是最通用、最可靠的方式,适用于所有Win11版本,包括家庭版。
第一步:按 Win + R 打开“运行”窗口,输入 cmd,回车启动命令提示符。
第二步:在打开的黑色窗口中,直接输入命令:ipconfig /flushdns,然后按回车。
第三步:看到提示“Windows 已成功刷新 DNS 解析程序缓存”即表示完成。如果显示“请求的操作需要提升权限”,说明你没以管理员身份运行——但其实ipconfig /flushdns不需要管理员权限,此时请关闭窗口,重新用Win+R→cmd→回车的方式打开,不要右键选择“以管理员身份运行”,否则UAC弹窗会干扰流程。
用PowerShell一键刷新(推荐给习惯图形界面的用户)
如果你常用PowerShell,或者刚从设置里改过网络参数,用它刷新更顺滑,且能顺便验证是否生效。
方法一:在开始菜单搜索“PowerShell”,右键选择“以管理员身份运行”,输入:ipconfig /flushdns → 回车。
GitHub Hosts 更新工具(仅限中国用户),安全更新系统hosts文件,保留原有非GitHub条目,仅替换GitHub相关地址。支持备份恢复和风险提示。用于解决GitHub访问问题。
方法二(更彻底):在同个管理员PowerShell窗口中,连续执行两行:
ipconfig /flushdns
Get-NetIPConfiguration | Select-Object InterfaceAlias,IPv4Address
第二行只是确认网络接口状态正常,避免因网卡异常导致刷新看似成功实则无效。
注意:不要在普通用户权限的PowerShell里执行flushdns,部分系统策略下会静默失败且无提示。
验证hosts新规则是否已生效
刷新不是终点,必须验证。这一步漏掉,你会误以为修改失败。
在任意命令提示符或PowerShell窗口中,输入:ping -n 1 example.com(把example.com换成你hosts里写的实际域名),回车。
如果返回的IP地址是你在hosts中指定的那个(比如127.0.0.1或192.168.1.100),说明已生效;如果返回的是公网IP或“找不到主机”,请回头检查hosts文件保存路径是否正确、编码是否为ANSI/UTF-8、行末是否有隐藏符号、是否被杀毒软件拦截写入。
浏览器还需额外操作:强制硬刷新(Ctrl+F5)或清空浏览器DNS缓存(地址栏输入chrome://net-internals/#dns → 点击“Clear host cache”)。










