我知道您可以编辑主机文件以将 URL 重定向到 IP 地址,如下所示:
127.0.0.1 google.com
但是如何强制重定向到 URL 而不是 IP 地址?
例如
mysite.com/welcome.aspx google.com
显式 URL 不起作用并且假设 mysite.com 的 IP 是 222.222.222.222,以下也不起作用:
222.222.222.222/welcome.aspx google.com
不,但您可以在例如 127.0.0.77 打开一个 Web 服务器并使用它来检查请求 URI 是否为“/welcome.aspx”...如果是则重定向到 google,如果不加载原始站点。
127.0.0.77 mysite.com
你不能。重定向需要网络服务器接受第一个请求并发回重定向。“主机”文件只允许您设置自己的 DNS 记录。
应用这个技巧。
首先,您需要要重定向到的 url 的 IP 地址。假设您要重定向到 stackoverflow.com 要找到它,请在命令提示符中使用 ping 命令。输入:
ping stackoverflow.com
进入命令提示符窗口,您将看到 stackoverflow 的数字 IP 地址。现在将该 IP 用于您的主机文件
104.16.36.249 google.com
是的,现在谷歌正在服务 stackoverflow :)
主机文件:
1.2.3.4 google.com
1.2.3.4 - 你的服务器的 ip。
在服务器上运行脚本以将用户重定向到您想要的 url。
您可以使用 Apache 中的 RedirectMatch 指令来执行您想要的类似操作。
这很简单。
无论如何,我看不出有任何理由去做那件事。你不是想拦截流量吗?有更好的方法。对于作为路由器的 Linux 机器:iptables -j REDIRECT + Squid 或 Apache。对于 Cisco 路由器,您可以将 WCCP 用于缓存或 Web 服务器...
确保使用附加的“www”前缀将条目加倍。如果您不使用“www.acme.com”之类的地址,将无法使用!