我知道你可以编辑一个主机文件来将URLredirect到一个IP地址,如下所示:
127.0.0.1 google.com
但你如何强制redirect到一个URL而不是一个IP地址?
例如
mysite.com/welcome.aspx google.com
明确的URL不起作用,并假设mysite.com的IP是222.222.222.222,以下不工作:
222.222.222.222/welcome.aspx google.com
不,但你可以打开一个web服务器,例如,127.0.0.77,并使用它来检查请求的URI是“/ welcome.aspx”…如果是重定向到谷歌,如果不加载原来的网站。
127.0.0.77 mysite.com
你不能。 重定向需要Web服务器接受第一个请求并发回重定向。 “主机”文件只是让你设置自己的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指令来执行类似的操作。
这很简单。
RedirectMatch / http://222.222.222.222/
无论如何,我看不出有什么理由去做这件事。 你不是想拦截交通吗? 有更好的方法。 对于作为路由器的Linux机器:iptables -j REDIRECT + Squid或Apache。 对于思科路由器,您可以将WCCP用于缓存或Web服务器…