tags:

views:

41

answers:

5

I 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

+1  A: 

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.

David
A: 

You'd have to use a custom DNS host, that's what DNS is for; to resolve a host name to an IP address.

John Weldon
A: 

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.

Riateche
+1  A: 

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
Good point, I've used this as a stopgap ad-blocker for approx. 10 domains (it doesn't scale well for larger number of domains, at least not on Windows)
Piskvor
A: 

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...

KikoV