Windows系统Hosts文件域名重定向至谷歌/本地服务器失效求助
域名重定向问题求助
问题场景
我在Windows 7和Windows 10系统中尝试通过Hosts文件实现域名重定向:
- 通过ping获取谷歌IP后,将以下内容添加至Hosts文件:
访问facebook.com时出现错误(截图:142.241.41.79 facebook.com www.facebook.com
) - 随后尝试重定向engadget.com,添加内容:
同样出现访问错误(截图:142.241.41.79 engadget.com www.engadget.com
)
已尝试的排查方法
- 使用多款浏览器测试
- 清除浏览器缓存并多次执行
ipconfig /flushdns - 运行带SSL的Apache服务器,尝试重定向至localhost,此时engadget.com可成功跳转,但
engadget.com/reviews提示资源未找到 - 尝试添加
engadget.com*等变体,或拆分至单独行
需求(更新)
希望将facebook.com的所有子链接(如facebook.com/facebook/)及主域名下的其他链接,重定向至谷歌或本地Apache服务器。请问通过Hosts文件是否可实现该需求,或需采用其他方案?
解答
Hosts文件只能做域名到IP的映射,没法处理路径级别的重定向,也做不了整个域名下所有子链接的跳转——它只负责把域名解析到指定IP,完全不关心域名后的路径内容。
你之前把facebook/engadget解析到谷歌IP后访问出错,是因为谷歌的Web服务器只响应针对自身域名(google.com等)的请求,收到其他域名的请求会直接返回错误,这是正常现象。
如果要实现整个域名包括所有子路径的重定向,需要用反向代理工具或带URL重写功能的Web服务器:
- 本地Apache方案:
- 先把目标域名(如facebook.com)通过Hosts映射到localhost
- 在Apache配置里启用
mod_rewrite模块,编写重写规则,将所有来自facebook.com的请求(无论路径)转发到谷歌或本地指定页面。示例规则:
这样不管访问facebook.com的任何子路径,都会跳转到谷歌对应的路径(也可以固定跳转到某个特定页面)RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?facebook\.com$ RewriteRule ^(.*)$ https://www.google.com/$1 [R=302,L]
- 第三方工具方案:
- 使用Fiddler、Charles这类代理工具,设置全局URL重写规则,直接拦截目标域名的所有请求并转发到指定地址,无需修改Hosts或搭建服务器,操作更灵活。
内容的提问来源于stack exchange,提问作者Noob YT
相关产品推荐
相关产品推荐

