Verwenden von DNS zum Umleiten zu einer anderen URL mit einem Pfad [geschlossen]

121

Ich versuche, eine Domain über DNS auf eine andere umzuleiten.

Ich weiß, dass es mit IN CNAME möglich ist.

www.proof.com IN CNAME www.proof-two.com.

Was ich brauche, ist eine Umleitung mit einem Pfad. Wenn jemand tippt www.proof.com, sollte er dazu kommenwww.proof-two.com/path/index.htm

Ich weiß, dass dies mithilfe von Webserver-Funktionen möglich ist, benötige jedoch eine DNS-Umleitung.

Ist das möglich?

Kontakt Kontakt
quelle
Wenn Sie eine Google-Domain verwenden, können Sie deren "Domain-Weiterleitung" im linken Menü -> Website verwenden.
John_J

Antworten:

137

Nein, was Sie fragen, ist nicht möglich. DNS ist ein Namensauflösungssystem und weiß nichts über HTTP.

Eudoxos
quelle
93

Wenn Sie AWS verwenden, wird eine Weiterleitung wie

mail.foo.com --> mail.google.com/a/foo.com

kann wie folgt eingerichtet werden:

  1. Erstellen Sie in S3 einen leeren Bucket "mail.foo.com".
  2. Setzen Sie unter Eigenschaften -> Statisches Website-Hosting die Option "Alle Anfragen umleiten an: mail.google.com/a/foo.com".
  3. Erstellen Sie in route53 einen A-Datensatz "mail.foo.com".
  4. Aktivieren Sie "Alias" und setzen Sie das Alias-Ziel auf den Bucket "mail.foo.com"

keine reine DNS-Lösung, aber es funktioniert;)

Beachten Sie jedoch, dass bei der Umleitung alle URL-Parameter übersprungen werden, z. B.: ...? Param1 = value1 & param2 = value2

geschlossen
quelle
3
Dies ist eine großartige und sehr nützliche Antwort für alle, die AWS verwenden. Danke dir! Süße Problemumgehung
Ken
6
Wichtig zu beachten: Der Bucket muss so benannt sein, dass er mit dem Hostnamen übereinstimmt, der an ihn umgeleitet wird. Siehe serverfault.com/a/584714/105720
Jordan Feldstein
1
Dies funktioniert als Umleitung zu einem Verzeichnis, jedoch nicht zu einer bestimmten Seite. Wenn Sie alle Anfragen an "www.example.com/foo/bar/baz.html" umleiten, hängt AWS "hilfreich" ein "/" an die URL an und verwandelt sie in "www.example.com/foo/bar/baz" .html / "und Rückgabe eines 404-Fehlers.
Earl Ruby
34

Mir ist klar, dass dies ein alter Thread ist, aber FWIW, falls jemand anderes nach einem Weg sucht, dies zu tun.

Während DNS den Pfadabschnitt der URL nicht versteht, versteht es Subdomains, also anstelle von:

www.proof.com IN CNAME www.proof-two.com/path/index.htm

Du könntest benutzen:

www.proof.com IN CNAME Proof.proof-two.com

Gehen Sie dann zu dem Ort, an dem Sie Proof-Two.com hosten, und setzen Sie es auf Proof.proof-Two.com auf www.proof-two.com/path/index.htm.

~ Es gibt immer mehr als einen Weg, eine Katze zu häuten

ein anderer Weg
quelle
2
Dies klingt nach einer nutzlosen Konstruktion, anstatt Proof.proof-two.com auf www.proof-two.com/path/index.htm verweisen zu lassen. Sie können www.roof.com genauso gut darauf hinweisen, ohne dass dies erforderlich ist zusätzliche DNS-Einträge.
Michiel
12
@Michiel Es klingt nach einer nutzlosen Konstruktion, wenn Sie einfachen Zugriff auf proof-two.comWebserver haben. Manchmal machen große Unternehmen (und Bürokratie) alles viel komplizierter, als es sein könnte.
Cregox
1
"Gehen Sie dann zu dem Ort, an dem Sie Proof-Two.com hosten, und setzen Sie es auf Point.proof-Two.com auf www.proof-two.com/path/index.htm." Wie geht das?
user2060451
17

Ich habe ein persönliches Projekt, das Ihnen bei der Lösung dieses Problems helfen könnte. Es handelt sich um eine Open Source-Umleitungslösung, mit der Sie Ihre Domain umleiten können, indem Sie nur Ihre DNS-Einstellungen ändern. Link des Projekts: https://redirect.center/ .

Um www.proof.com unter Beibehaltung der URL-Parameter auf www.proof-two.com umzuleiten, legen Sie einfach Ihren www-DNS-Eintrag aufproof.com fest:

www.proof.com IN CNAME www.proof-two.com.opts-uri.redirect.center.

Udlei Nati
quelle
Die Frage betraf die Umleitung zu einer vollständigen Pfad-URL, nicht nur zu einer Domain.
Tony Chiboucas
2
Das ist immer noch kein vollständiger Weg
Tony Chiboucas
2
Ein Pfad kann durch den ".opts-slash" des Dienstes unterstützt werden. Funktion. Redirect jobs.my-domain.com zu my-domain.com/jobs Konfigurieren Sie Ihre DNS - Zone wie folgt: Host Record: Jobs Typ: CNAME: www.my-domain.com.opts-slash.jobs.redirect.center
David Turner
1
Dies ist wirklich cool und einfach, wenn Ihr Registrar keine Weiterleitung anbietet - großartig!
Luca Steeb
1
Dies ist perfekt! Ich nahm an, dass so etwas existiert, konnte es aber nicht finden (sie müssen an ihrer SEO arbeiten, denke ich).
Matt Dodge
11

Mit redirect.center ist das wirklich einfach

Wenn Sie einen CNAME erstellen möchten als:

www.proof.com IN CNAME www.proof-two.com/path/index.htm

Mit redirect.center sieht Ihr CNAME so kanonisch aus wie:

www.proof.com IN CNAME www.proof-two.com.opts-slash.path.opts-slash.index.htm.redirect.center.

Wenn Sie jetzt zur https-Website umleiten möchten, können Sie diese Option hinzufügen:

www.proof.com IN CNAME www.proof-two.com.opts-slash.path.opts-slash.index.htm.opts-https.redirect.center.

Jetzt können Sie einen CNAME im kanonischen Modus mit einem Schrägstrich auf Ihrer Schicksalsseite erstellen.

Alvaro Aguilar
quelle
Ich habe es versucht, aber es funktioniert nicht. Alles, was es tut, ist, Benutzer auf die Website von redirect.center umzuleiten.
Renan
Können Sie Ihr CNAME-Register kopieren? Können Sie auch Ihre umgeleitete Site kopieren?
Alvaro Aguilar
1
@Renan Stellen Sie sicher, dass die Quelldomäne im DNS vorhanden ist und vom redirect.center-Server nachgeschlagen werden kann. Auch das Navigieren zu target-domain.com.redirect.center im Browser funktioniert nicht. Siehe Erklärung: github.com/udleinati/redirect.center/issues/…
Rotbarsch
11

Bearbeiten

Es scheint, dass es mein Provider (OVH) ist, der diese Art der Umleitung innerhalb seiner Infrastruktur zulässt.

Siehe: https://docs.ovh.com/gb/en/domains/redirect-domain-name/

Ich behalte die unten stehende Antwort zum Zwecke der Archivierung bei, sie enthält jedoch keine aussagekräftigen Informationen.

Ursprüngliche Antwort

Ich habe das mit einem TXT-Datensatz gemacht.

Umleiten foo.bar.comzu foo2.bar.com/path, fügen Sie einfach foo IN TXT "1|foo2.bar.com/path"in Ihrer bar.comDNS - Zone.

Außerdem werden die URL-Pfade und -Parameter beibehalten. Wenn Sie also versuchen, darauf zuzugreifen foo.bar.com/hello?foo=bar, werden Sie zu weitergeleitet foo2.bar.com/path/hello?foo=bar.

Gabriel
quelle
6
Könnten Sie das etwas näher erläutern? Haben Sie Referenzen zur Verwendung von TXT-Datensätzen?
Josiah
Wird dies auch die URL-Parameter beibehalten?
Andreas
1
Nach einer Untersuchung scheint OVH das für mich zu tun. Siehe: ovh.com/fr/g1339.redirection-nom-de-domaine (fr). Ich werde meine Antwort aktualisieren.
Gabriel
10

Um die ursprüngliche Frage zu beantworten, nein, was Sie wollen, ist nicht nur mit DNS möglich (wie alle angegeben haben). Zusätzlich zu allem, was bereits erwähnt wurde, besteht eine weitere Option darin, einen URL-Umleitungsdienst zu verwenden. Mit diesen Arten von Diensten können Sie je nach Ihren Anforderungen viele verschiedene Arten von URL-Weiterleitungen konfigurieren. Beispielsweise:

  1. Leiten Sie einen Domain-Apex an ein www weiter. Subdomain oder umgekehrt
  2. Leiten Sie eine Sammlung von Domainnamen an ein einzelnes Ziel weiter (nützlich zum Weiterleiten von Domain-Rechtschreibfehlern, alten Firmennamen usw.)
  3. Leiten Sie bestimmte Domainnamen an stark verknüpfte Seiten weiter (wie es das OP wünscht).

Ein Dienst, der dies tut, ist EasyRedir . Vollständige Offenlegung: Ich habe EasyRedir entwickelt. Es gibt sicherlich auch andere Möglichkeiten, daher empfehle ich Ihnen, sich umzuschauen.

wgrrrr
quelle
5

DNS leitet den Pfadabschnitt einer URL nicht um, sodass dies nicht möglich ist.

Hinzufügen

www.proof.com IN CNAME www.proof-two.com

Der direkte Zugriff auf www.proof.com erfolgt unter www.proof-two.com. Dort müssen Sie die Webserverkonfiguration verwenden, um Benutzer auf die entsprechende Seite zu leiten.

Karl Barker
quelle
4

Meine Lösung für dieses Problem war ziemlich einfach und unkompliziert. Sie benötigen lediglich einen IIS-Server, der in der Domäne ausgeführt wird.

Richten Sie CNAME in DNS so ein, dass es auf den IIS-Server verweist, und verwenden Sie Hostnamen in IIS, um mehrere Standorte auf einem einzelnen IIS-Server aufzulösen. Ich verwende denselben IIS-Server, um einige Unterdomänen an externe Sites auszulagern.

Dann wurde in der IIS-Setup-Setup-Umleitung für diese Site zu Ihrer externen Site / Ihrem externen Pfad gewechselt. In meinem Fall war es unser gehosteter Katalog, zu dem catalog.ourdomain.com gehen sollte. Von hier aus werden alle Optimierungen in IIS vorgenommen. Stellen Sie sicher, dass die anonyme Authentifizierung aktiviert ist, damit der Datenverkehr nicht blockiert wird.

Don Schaefer
quelle
3

Ich nehme an, Sie haben dieses Szenario: Sie haben einen einzigartigen Webserver, auf dem verschiedene Websites gehostet werden, von denen jede von einer separaten Domain präsentiert werden soll:

Daher sollte die Seite 1.html von www.customer1.com usw. bereitgestellt werden.

  1. Erstellen Sie eine Subdomain auf dem DNS-Server von example.com (Ihrem Webserver):

    customer1.example.com

  2. Ordnen Sie in den Einstellungen Ihres virtuellen Apache-Servers die Subdomain dem Verzeichnis zu, das die Website für Ihren Kunden Nr. 1 enthält, wie folgt:

<VirtualHost *:80> SetEnv PAGE_ID "customer1" ServerName customer1.example.com ServerAlias www.customer1.com DocumentRoot /your/local/path/webserver/customer1 </VirtualHost> Bitte beachten Sie den Wert für "ServerAlias", er ist wichtig für den nächsten Schritt.

Zu diesem Zeitpunkt sollten Sie in der Lage sein, zu Ihrer Website customer1 zu navigieren, indem Sie zu folgenden Elementen navigieren:

customer1.example.com

  1. In den DNS-Einstellungen für customer1.com müssen Sie einen CNAME-Eintrag erstellen:

    CNAME = www LOCATION = customer1.example.com

Jetzt können Sie Folgendes verwenden: www.customer1.com.

Christian
quelle
3

Eine verwandte Arbeit schloss alle folgenden Punkte ab:

Problem:

http://a.com/p1/p2.html sollte heute zu http://B.com/p1/p2.html gehen
, aber später, wenn manuell / automatisch konfiguriert, das gleiche
http://a.com/p1 /p2.html sollte zu http://C.com/p1/p2.html gehen

Antworten:

DNS - konvertiert den Namen in eine IP-Adresse

Obwohl es viele Weiterleitungen ausführen kann, wird immer die IP-Adresse ausgegeben. DNS versteht den Pfad oder den Protokollteil der URL nicht, versteht nur den Domänenteil, dh a.com wird nur in die IP-Adresse konvertiert. Wenn Sie also auf http klicken : //a.com/p1/p2.html kann in http://152.132.121.11/p1/p2.html konvertiert werden. Wenn Sie in DNS falsch konfigurieren, erhalten Sie 152.132.121.11 (nicht http: //152.132). 121.11 / p1 / p2.html ), so dass Sie einen 400s-Fehler erhalten würden (400, 403 usw.)

Umleitung - Dies ist http://a.com/p1/p2.html und kann in http://b.com/p1/p2.html konvertiert werden

Alle Methoden wie GET, POST können funktionieren. Wenn Header und Textkörper vorhanden sind, aber ein Webserver beteiligt ist, kann dies zu einem Fehler führen. Daher sind Skalierbarkeit und Verfügbarkeit von entscheidender Bedeutung

Wenn Sie sich in AWS befinden , ist Route 53 -> API-Gateway über benutzerdefinierte Domänen möglich, die intern die Cloud-Front verwenden

Mit Amazon Certification Manager, benutzerdefinierten AWS Gateway-Domänen und Route53 ist es möglich, die US-Ost-1-Einschränkung für ACM zu beachten

Hoffe das hilft jemandem

Manohar Reddy Poreddy
quelle
2

Während, wie fast alle bereits sagten, es unmöglich ist, nur DNS zu verwenden. Als Problemumgehung würde ich vorschlagen, NGINX ( http://nginx.org/en/docs/http/request_processing.html ) auszuprobieren .

TL; DR - In NGINX können Sie mehrere virtuelle Server erstellen, die Ihre Anforderung basierend auf dem Servernamen umleiten können.

Ex. http://first.my-server.com leitet zu Platz A um und http://second.my-server.com leitet zu Platz B um, während beide einen einzigen physischen Server gemeinsam nutzen.

nyxz
quelle
0

Sie können htaccess rewrite mod verwenden und in den Unterordner umschreiben, wenn der Benutzer eine bestimmte Domäne anfordert, nicht die andere.

gnvsale
quelle
-1

Natürlich ist es möglich, mit folgendem Trick umzuleiten:

Erstellen Sie eine neue Standard-Primärzone. Benennen Sie diese mit der fiktiven URL, zu der Sie umleiten möchten. Stellen Sie sicher, dass sich dieser fiktive Name von jedem AD-DNS-Namen unterscheidet. Erstellen Sie einen Eintrag mit folgenden Einträgen:

leer ....................... A ......................... ... ip-addr-2

www ......................... A ....................... ..... ip-addr-2

Was wir hier haben, ist im Wesentlichen Umleitung. Eine gültige URL wird basierend auf der vorhandenen primären DNS-DNS-Zone aufgelöst. Eine fiktive URL wird an ip-addr-2 umgeleitet. Wichtig ist, dass der Name dieses Eintrags leer ist, sodass er zum nächsten Eintrag im Datensatz herunterfällt und zu ip-addr-2 umleitet

Bran Kop
quelle
-4

Jeder hat dies bereits angegeben, und ich möchte Ihnen nur eine weitere Option für einen Dienst anbieten, der Ihnen helfen kann. www.301redirect.it ist ein kostenloser Dienst, mit dem Sie Ihre Domain (mit Platzhalter) auf eine beliebige Ziel-URL umleiten können.

Ich möchte auch eine Offenlegung hinzufügen: Ich bin der Entwickler hinter diesem Service und es gibt noch andere Optionen.

Jimmie Andersson
quelle