Nameserver leiten nichts weiter. Nameserver antworten auf Anfragen nach Namen und geben schließlich eine IP zurück. CNAME-Datensätze geben einen Namen zurück, der dann nachgeschlagen wird, um die IP zu erhalten. Das einzige, was Sie wirklich mit Ihren DNS-Einträgen tun können, ist sicherzustellen, dass Ihr Name festgelegt ist und die IP-Adresse eines Servers zurückgibt, der den Datenverkehr akzeptiert und das tut, was Sie wollen.
Wenn Sie den Webserver mit einem namenbasierten virtuellen Hosting somethingelse.com
einrichten und der Hauptname für diesen virtuellen Host lautet, können Sie einen zusätzlichen Namen für diesen virtuellen Host festlegen subdomain.example.org
. In DNS legen Sie die Einträge so fest, dass die IP des virtuellen Hosts zurückgegeben wird somethingelse.com
.
Auf der Website, auf der gehostet wird, somethingelse.com
müssen, wo immer möglich, relative Links verwendet werden. Andernfalls wird der Benutzer schnell feststellen, dass sie jetzt auf eine andere Domain umgestellt wurden.
... das ist der entscheidende Punkt. Wie würde ich das machen?
Erstellen Sie einfach einen A-Datensatz, der einen Namen mit einer IP verknüpft, oder einen CNAME-Datensatz, der auf einen A-Datensatz verweist, der auf die gewünschte IP verweist.
DNS weiß nichts. Was Sie verlangen, muss auf dem HTTP-Server behandelt werden.
Andernfalls könnte ich meine Domain auf google.com verweisen und sie so aussehen lassen, als wäre sie meine Website?
Sie können einen DNS-Eintrag auf eine beliebige IP-Adresse verweisen. Bei HTTP enthält ein Teil der Anforderung den Hostnamen, auf den Sie zugreifen möchten. Die Google-Webserver können sich dafür entscheiden, basierend auf dem Hostnamen, der Teil der HTTP-Anforderung ist, abzulehnen.
Das Einrichten eines DNS-Namens, der auf die Server von Google verweist, wird sogar unterstützt, wenn Sie Google Apps-Kunde sind. Es gibt ein Verfahren, das Sie am häufigsten befolgen, um Google mitzuteilen, welchen Namen Sie für eine bestimmte Seite verwenden werden. Google passt dann ihre Konfiguration entsprechend an.
Wenn Sie ein anderes Protokoll verwenden, das den für den Zugriff verwendeten Hostnamen nicht enthält, kann der Server nicht wissen, was was ist. Sie können dies ganz einfach selbst testen, indem Sie einen Eintrag wie erstellen googledns.example.org IN A 8.8.8.8
und dann ping googledns.example.org
den DNS-Server von Google ausführen, der auf den Ping reagiert. Der Name, den Sie für den Ping-Befehl verwendet haben, ist in einer ICMP-Echoantwort überhaupt nicht enthalten, sondern nur die IP-Adresse.
Warum können Sie nicht einfach eine .htaccess-Datei (mit einer 301-Umleitung) in dem Ordner einrichten, in dem sich der Submmain befindet?
Zum Beispiel:
Bearbeiten Sie diese neue .htaccess-Datei und fügen Sie den folgenden Code hinzu
Weiterleiten 301 / http://somethingelse.com
Mit / als Stammverzeichnis Ihrer Subdomain und http://somethingelse.com als Speicherort .
Funktioniert bei mir.
quelle
Die einzige vollständige Lösung besteht darin, einen Webserver so einzurichten, dass er auf "subdomain.example.org" wartet und ihn mit HTTP-Umleitung zu "Somethingelse.com" umleitet.
Wenn Sie einen c-Namen verwenden, um "subdomain.example.org" auf "Somethingelse.com" zu verweisen, spricht der Webbrowser mit dem Webserver über "Somethingelse.com", es wird jedoch "Ich suche nach Subdomain.example" angezeigt. org "für die es möglicherweise nicht konfiguriert ist. Wenn Sie den Webserver so konfigurieren können, dass beide URLs akzeptiert werden, funktioniert cname einwandfrei.
quelle
DNS-Weiterleitungen mit CNAMES funktionieren auf einem gemeinsam genutzten Host nicht so, wie Sie es möchten.
Angenommen, Sie haben für unsere Zwecke einen 'CNAME'-Datensatz für subdomain.example.org, der auf Somethingelse.com verweist, und einen' A'-Datensatz für Somethingelse.com. Wenn Sie subdomain.example.com besuchen, wird zuerst ein DNS-Server abgefragt, um die richtige IP-Adresse zu ermitteln. Der DNS-Server sieht den CNAME-Eintrag und ermittelt rekursiv die IP-Adresse für Somethingelse.com, die dann an Ihren Desktop zurückgegeben wird.
Ihr Browser wird dann diese IP-Adresse kontaktieren und nach subdomain.example.com fragen. Tatsächlich weiß es nicht einmal, dass etwas anderes existiert.
Wenn Sie eine dedizierte Box hätten, könnten Sie CNAMEs dazu bringen, so zu arbeiten, wie Sie es sich vorstellen, aber Sie würden die Möglichkeit verlieren, einen namensbasierten virtuellen Host zu verwenden. Bei IP-basierten vhosts wird jede Domain, die auf eine bestimmte IP verweist, denselben Inhalt bereitstellen.
Damit die Adressleiste Ihres Browsers "subdomain.example.org" anzeigt, während die Seite von Somethingelse.com bereitgestellt wird, können Sie die von Ihrem Host bereitgestellte Frame-Weiterleitung überdenken.
Eine andere Möglichkeit, wenn Ihr Host mod_proxy bereitstellt, besteht darin, einen Reverse-Proxy in der virtualhost-Konfiguration von subdomain.example.com einzurichten:
Dies führt dazu, dass subdomain.example.com den Inhalt von someelse.com bereitstellt, während subdomain.example.com weiterhin als Quelldomäne gemeldet wird.
quelle
frame src
Satz auf die andere Domäne - das kann ich mit tun ,iframe
wie gut und und lief in domänenübergreifende Probleme (zB Internet Explorer Cookies nicht zu akzeptieren)