Ich habe 2 Domains mit verschiedenen Hosts gehostet. Ich muss Domain A zu Domain B umleiten. Leider kann ich keine 301-Umleitung von Host A durchführen, sondern nur DNS-Einträge (A-Records und CNAMEs) auf Host A ändern / hinzufügen.
Sicher ist es möglich, www.DomainA.com nur mit A-Records und CNAMEs auf www.DomainB.com umzuleiten?
Derzeit sind die DNS-Einträge:
DomainA.com. 3600 IN SOA ns1.HostA.net.
www 3600 IN CNAME www.DomainB.com.
DomainA.com. 3600 IN NS ns1.HostA.net.
DomainA.com. 3600 IN NS ns2.HostA.net.
DomainA.com. 3600 IN NS ns3.HostA.net.
Ich möchte umleiten
DomainA.com -> DomainB.com
*.DomainA.com -> *.DomainB.com
Ich habe den Vorschlag aus diesem anderen Beitrag ausprobiert, aber es hat nicht funktioniert.
Wie kann ich das bitte nur mit A-Records und CNAMEs erreichen? Danke für deinen Rat.
Prembo.
Antworten:
Es geht also nicht um die Umleitung als solche (wie dies auf App-Ebene der Fall ist, dh auf Apache / Nginx / wherever), sondern um die DNS-Auflösung. Der Host, auf dem DomainA gehostet wird, wird oder sollte niemals getroffen werden, basierend auf Ihrer Beschreibung, da die DNS-Anforderungen in die IPs von DomainB aufgelöst werden sollen. Es sei denn, ich vermisse etwas in Ihrer Anfrage?
Wie Shane betonte, ist DNS nicht in der Lage, HTTP umzuleiten - das ist eine Anwendungs- / Webserverpflicht. Sie könnten DomainA und DomainB auf die gleiche IP auf DNS auflösen lassen, und alle würden funktionieren. Wenn Sie dies jedoch auf einem URL- / Pfad-Weg tun möchten, ist dies nicht möglich - DNS ist dazu nicht in der Lage - es ist ein einfacher DNS-> IP-Dienst. Was mit der tatsächlichen URL geschieht, ist die Aufgabe des Webservers.
Nach dem folgenden Kommentar würde ich alle DNS-Einträge für DomainA auf dieselben IP-Adressen verweisen, auf die DomainB verweist. Auf diese Weise wird eine HTTP-Anfrage an HostB gesendet, und dann ist es nur noch eine einfache Sache:
Dadurch wird alles, was zu DomainB kommt, in DomainA umgeschrieben, das auf demselben Server oder an einem anderen Ort gehostet werden kann. Ich schätze, dass die zweite Option wahrscheinlich ein Mehraufwand ist und nicht erforderlich ist, wenn Sie auf Apache name-basierte virtuelle Hosts erstellen können / dürfen.
Ich würde mit 1. gehen - zeigen Sie alle DNS-Einträge von DomainA auf die gleichen IPs, auf die DomainB zeigt, und erstellen Sie bestimmte namensbasierte virtuelle Hosts auf Apache.
quelle
domain B
zum vorhandenen virtuellen Host fürdomain A
?Wie andere angegeben haben, ist es nicht möglich, die HTTP-Umleitung nur mit DNS durchzuführen. DNS und HTTP arbeiten zusammen, um einen Benutzer von einer Webseite auf eine andere umzuleiten.
Sie können DNS alleine verwenden, um Domain A den gleichen Inhalt wie Domain B anzeigen zu lassen, aber der Webbrowser zeigt Domain A in der URL an. Sie müssen sehr vorsichtig sein, da es aus SEO-Sicht ziemlich schlecht ist. Sie bekommen Ärger wegen "doppelter Inhalte" und Suchmaschinen werden Sie dafür bestrafen.
Die richtige Methode (aus UX- und SEO-Sicht), um diese Funktion auszuführen, besteht darin, eine HTTP-Umleitung von Domäne A zu Domäne B durchzuführen.
Sie können Ihre Webserver (Apache, Nginx, IIS usw.) manuell konfigurieren, um diese Arbeit für Sie zu erledigen, wenn Sie technisch in der Lage sind. Es gibt viele gute Ressourcen, die dabei helfen können.
Wenn Sie die Infrastruktur nicht steuern können oder möchten, können Sie einen URL-Umleitungsdienst verwenden, um diesen Auftrag für Sie auszuführen. Ich bin der Gründer von EasyRedir , aber es gibt sicherlich noch andere.
quelle
Domäne A muss die gleichen IP-Adressen wie Domäne B haben. In der Definition von A ist kein Verweis auf B erforderlich. Webbrowser "folgen" CNAMEs nicht als Umleitung, sondern behalten denselben Hostnamen bei und verwenden den eigenen Eintrag des CNAME, um eine IP-Adresse aufzulösen.
Wenn Sie möchten, dass B beim Besuch von A im Browser angezeigt wird (optional und unabhängig von DNS), müssen Sie den HTTP-Host abgleichen und die Anforderungen auf dem Webserver umleiten. Mit Apache würden Sie mod_rewrite verwenden, um dies in einer virtuellen Host-Definition zu tun:
quelle
Natürlich ist es möglich, mit dem folgenden Trick umzuleiten:
leer ....................... A ......................... ... ip-addr-2
www ......................... A ....................... ..... ip-addr-2
Was wir hier haben, ist im Wesentlichen die Umleitung. Eine gültige URL wird basierend auf der vorhandenen primären DNS-Zone aufgelöst. Eine fiktive URL wird an ip-addr-2 weitergeleitet. Wichtig ist, dass der Name dieses Eintrags leer ist, sodass er auf den nächsten Eintrag im Datensatz abfällt und zu ip-addr-2 umleitet
quelle
Ich habe es nicht ausprobiert, aber ich denke, Sie können dies tun:
Dies ist überhaupt kein anderer Datensatz in der DomainA-Zonendatei. Keine SOA, nichts.
Versuchen Sie dies nicht auf einer Domain, die Ihnen am Herzen liegt.
quelle
CNAME
Datensätze auf Naked / Apex-Domains wie platzierendomain.com
, aber Sie können auf Subdomains wiewww.domain.com