2010-07-16 7 views
22

Ich weiß, Sie können eine Host-Datei bearbeiten, wie so eine URL in eine IP-Adresse zu umleiten:Editieren der Hosts-Datei zur Umleitung der URL?

127.0.0.1 google.com

aber wie Sie zwingen, eine Umleitung zu einer URL statt einer IP-Adresse ?

z.B.

mysite.com/welcome.aspx google.com

Die explizite URL nicht funktioniert und unter der Annahme mysite.com IP ist 222.222.222.222, wird die folgende nicht funktionieren:

222,222. 222.222/welcome.aspx google.com

Antwort

7

Sie können nicht. Eine Weiterleitung setzt voraus, dass ein Webserver die erste Anfrage akzeptiert und die Weiterleitung zurücksendet. Die Datei "hosts" lässt Sie nur Ihre eigenen DNS-Einträge festlegen.

+4

Es gibt keinen Grund, warum eine Umleitung kann nicht lokal erfolgen. – Pacerier

0

hosts-Datei:

1.2.3.4 google.com 

1.2.3.4 - IP des Servers ein.

Run-Skript auf dem Server für Benutzer Umleitung URL, die Sie wollen.

7

Nein, aber Sie könnten einen Webserver beispielsweise bei 127.0.0.77 öffnen und damit prüfen, ob der Request-URI "/welcome.aspx" ist ... Falls ja, leiten Sie nach google um, wenn nicht ursprüngliche Seite.

127.0.0.77  mysite.com 
+1

Guter Punkt, ich habe das als Stopgap Ad-Blocker für ca. verwendet.10 Domains (es skaliert nicht gut für eine größere Anzahl von Domains, zumindest nicht unter Windows) – Piskvor

+1

@Piskvor, 'hosts' Datei soll auf über Tausende von Zeilen skalieren ... Bitte erläutern Sie, was Sie mit" doesn "meinen 't skalieren gut ", erhalten Sie BSODs? – Pacerier

0

Sie könnten die RedirectMatch-Direktive in Apache verwenden, um etwas ähnliches zu tun, das Sie wollen.

Es ist ziemlich einfach.

RedirectMatch/http://222.222.222.222/

Wie dem auch sei, ich sehe keinen Grund, nicht das Ding zu tun. Versuchen Sie nicht, den Verkehr abzufangen? Es gibt bessere Möglichkeiten. Für Linux-Boxen als Router: iptables -j REDIRECT + Squid oder Apache. Für Cisco-Router können Sie WCCP zu einem Cache oder Web-Server verwenden ...

1

diesen Trick Nehmen.

Zuerst benötigen Sie die IP-Adresse der URL, zu der Sie umleiten möchten. Sagen wir, Sie möchten zu stackoverflow.com umleiten. Um es zu finden, verwenden Sie den Befehl ping in einer Eingabeaufforderung. Typ in:

ping stackoverflow.com 

in das Fenster der Eingabeaufforderung, und Sie werden Stackoverflow seine IP-Adresse sehen. Verwenden Sie nun die IP in die Host-Datei

104.16.36.249 google.com

yay jetzt google Stackoverflow dient :)

+4

Ich weiß, dass dieser Thread ziemlich alt ist, aber ich möchte hier eine Notiz hinzufügen. Diese Antwort funktioniert ** nicht, wenn der Server CDN oder virtuelle Hosts verwendet. Dies gilt ** nur für Server mit ** dedizierten IPs **. Diese Antwort scheint korrekt zu sein, ist aber im Falle von StackOverflow völlig falsch. Es verwendet Cloudflare als CDN – mob41