35

我知道您可以编辑主机文件以将 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

4

6 回答 6

11

不,但您可以在例如 127.0.0.77 打开一个 Web 服务器并使用它来检查请求 URI 是否为“/welcome.aspx”...如果是则重定向到 google,如果不加载原始站点。

127.0.0.77      mysite.com
于 2010-07-16T15:41:37.717 回答
9

你不能。重定向需要网络服务器接受第一个请求并发回重定向。“主机”文件只允许您设置自己的 DNS 记录。

于 2010-07-16T15:36:33.127 回答
4

应用这个技巧。

首先,您需要要重定向到的 url 的 IP 地址。假设您要重定向到 stackoverflow.com 要找到它,请在命令提示符中使用 ping 命令。输入:

ping stackoverflow.com

进入命令提示符窗口,您将看到 stackoverflow 的数字 IP 地址。现在将该 IP 用于您的主机文件

104.16.36.249 google.com

是的,现在谷歌正在服务 stackoverflow :)

于 2016-02-02T10:23:58.637 回答
0

主机文件:

1.2.3.4 google.com

1.2.3.4 - 你的服务器的 ip。

在服务器上运行脚本以将用户重定向到您想要的 url。

于 2010-07-16T15:40:28.813 回答
0

您可以使用 Apache 中的 RedirectMatch 指令来执行您想要的类似操作。

这很简单。

重定向匹配/http://222.222.222.222/

无论如何,我看不出有任何理由去做那件事。你不是想拦截流量吗?有更好的方法。对于作为路由器的 Linux 机器:iptables -j REDIRECT + Squid 或 Apache。对于 Cisco 路由器,您可以将 WCCP 用于缓存或 Web 服务器...

于 2010-07-16T16:04:41.017 回答
0

确保使用附加的“www”前缀将条目加倍。如果您不使用“www.acme.com”之类的地址,将无法使用!

于 2019-07-05T09:49:45.400 回答