Editing hosts file to redirect url? [closed]
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 2 years ago.
开发者_开发知识库 Improve this questionI know you can edit a hosts file to redirect a URL to an IP address as so:
127.0.0.1 google.com
but how do you force a redirect to a URL instead of an IP address?
e.g.
mysite.com/welcome.aspx google.com
The explicit URL doesn't work and assuming mysite.com's IP is 222.222.222.222, the following doesn't work either:
222.222.222.222/welcome.aspx google.com
No, but you could open a web server at, for example, 127.0.0.77 and use it to check if the Request URI is "/welcome.aspx"... If yes redirect to google, if not load the original site.
127.0.0.77 mysite.com
You can't. A redirect requires a webserver to accept the first request and send back the redirect. The "hosts" file just lets you set your own DNS records.
Apply this trick.
First you need IP address of url you want to redirect to. Lets say you want to redirect to stackoverflow.com To find it, use the ping command in a Command Prompt. Type in:
ping stackoverflow.com
into the command prompt window and you’ll see stackoverflow's numerical IP address. Now use that IP into your host file
104.16.36.249 google.com
yay now google is serving stackoverflow :)
hosts file:
1.2.3.4 google.com
1.2.3.4 - ip of your server.
Run script on the server for redirecting users to url that you want.
You could use the RedirectMatch directive in Apache to do something similar you want.
It's pretty simple.
RedirectMatch / http://222.222.222.222/
Anyway, I can't see any reason to do that thing. Aren't you trying to intercept traffic? There are better ways. For Linux boxes as a router: iptables -j REDIRECT + Squid or Apache. For Cisco routers, you can use WCCP to a Cache or Web Server...
Make sure to double the entry with an additional "www"-prefix. If you don't addresses like "www.acme.com" will not work!
精彩评论