2008-08-19 13 views
39

Ich habe 2 Gastgeber und ich würde eine Sub-Domain auf dem Host eines zu einer Sub-Domain auf dem Host-zwei-zu-Punkt mag:Wie SITEA umleiten mit A oder CNAME-Datensätze SITEB

subdomain.hostone.com --> subdomain.hosttwo.com 

ich einen CNAME-Eintrag hinzugefügt Gastgeber eine, die auf subdomain.hosttwo.com zeigt, aber alles, was ich bekomme, ist ein '400 Bad Request' Fehler.

Kann jemand sehen, was ich falsch mache?

+11

Ich sehe nicht, dass dies ein Thema ist. DNS-Konfiguration ist im Bereich der Programmierung. – superluminary

+20

@superluminary: "offtopic" bedeutet, dass der Mod das Feld nicht kennt oder einen schlechten Tag hatte oder ein Abzeichen für das Schließen des Tickets wollte. In diesem Fall ist die Frage besser für ServerFault IMHO geeignet, daher sollte sie migriert und nicht geschlossen sein. – SamGoody

+0

Kann nicht mehr zustimmen, dieser Beitrag sollte entweder wieder geöffnet oder migriert werden, DNS-Konfiguration ist etwas, das beide Bereiche überspannt. –

Antwort

13

Versuchen Sie es zu ändern in „Sub-Domain -> subdomain.hosttwo.com“

Der CNAME ein Alias ​​für eine bestimmte Domäne ist, so dass, wenn Sie auf dem Bedienfeld für hostone.com gehen, sollten Sie nicht haben Geben Sie den vollständigen Namen in den Alias ​​CNAME ein.

Soweit der Fehler Sie erhalten, können Sie auf subdomain.hostwo.com anmelden und überprüfen Sie die Protokolle?

+0

Was unterscheidet sich von normalen URI-Weiterleitung und CNAME-Weiterleitung? – Elankeeran

+2

@Elankeeran URL-Umleitung kann Pfad angehängt sein - CNAMES kann nur aus vollständigen Domänen bestehen. z.B. URL Redirect-Unterverzeichnis (z. B. "www") zu <[SubDomain.] Domain.TLD> [/ Pfad [/ ...]] (z. B. https: // www.example.com/sites/xyz) wo als CNAME-Subdomain (z. B. "www") bis <[SubDoman.] Domain.TLD> (z. B. 'ghs.google.com') –

+0

Ein CNAME ist ein Alias ​​für einen A- oder AAAA-Record, der aber niemals eine Domain sein kann ist immer ein Name * innerhalb * eines Domain- oder Domain-Namens, kurz. –

2

Es klingt, als ob der Webserver auf hosttwo.com nicht undefinierte Domänen durchlässt. Sie haben auch gesagt, dass Sie eine Weiterleitung durchführen möchten. Dies ist keine Methode zum Umleiten. Wenn Sie diese Domain über GoDaddy gekauft haben, möchten Sie vielleicht nur ihren Umleitungsservice nutzen.

+0

oder ändern Sie den Host :) – Eoin

0

Es ist wahrscheinlich am besten/am einfachsten, eine 301 redirect einzurichten. Kein DNS-Hacking erforderlich.

0

Sie können den DNS-Namen pont nur auf eine andere IP-Adresse setzen. Wenn Sie also virtuelle Hosts verwenden, wird die Umleitung mit DNS nicht funktionieren.

Wenn Sie subdomain.hostone.com in Ihrem Browser eingeben, verwendet es DNS, um seine IP-Adresse zu erhalten (wenn es ein CNAME ist, wird es weiter versuchen, bis es IP von A-Datensatz bekommt), dann wird es mit dieser IP verbinden und senden eine HTTP-Anfrage mit

Host: subdomain.hostone.com

irgendwo in den http-Headern.

0

Sie können dies eine Reihe von Nicht-DNS-Möglichkeiten. Die Zielseite von subdomain.hostone.com kann eine HTTP redirect haben. Der Webserver auf hostone.com kann so konfiguriert werden, dass er umleitet (einfach in Apache, nicht sicher über IIS), etc.

11

Ich denke, einige der Antworten treffen auf die mögliche Lösung für Ihr Problem.

Ich stimme der einfachsten (und beste Lösung für SEO Zwecke) ist die 301 Redirect. In IIS ist das ziemlich trivial, Sie würden eine Site für subdomain.hostone.com erstellen, nachdem Sie die Site erstellt haben, klicken Sie mit der rechten Maustaste auf die Site und gehen Sie in die Eigenschaften. Klicken Sie auf das Register "Home-Verzeichnis" des Fensters mit den zu öffnenden Site-Eigenschaften. Wählen Sie das Optionsfeld "Eine Umleitung zu einer URL", geben Sie die URL für die neue Site ein (http://subdomain.hosttwo.com), und aktivieren Sie die Kontrollkästchen für "Die genaue URL oben eingegeben", "Eine permanente Umleitung für diese Ressource" 301 Redirect statt 302 Redirect). Klicken Sie auf OK, und Sie sind fertig.

Sie können auch eine Seite auf der Website von http://subdomain.hostone.com, mit einer der folgenden Methoden (je nachdem, was die Hosting-Plattform unterstützt)

PHP Redirect erstellen:


<? 
Header("HTTP/1.1 301 Moved Permanently"); 
Header("Location: http://subdomain.hosttwo.com"); 
?> 

ASP Redirect:

.NET Redirect

<%@ Language=VBScript %> 
<% 
Response.Status="301 Moved Permanently" 
Response.AddHeader "Location","http://subdomain.hosttwo.com" 
%> 

ASP:


<script runat="server"> 
private void Page_Load(object sender, System.EventArgs e) 
{ 
Response.Status = "301 Moved Permanently"; 
Response.AddHeader("Location","http://subdomain.hosttwo.com"); 
} 
</script> 

Nun wird angenommen, dass Ihr CNAME-Eintrag korrekt erstellt wurde. Das einzige Problem ist, dass die für http://subdomain.hosttwo.com erstellte Site eine gemeinsam genutzte IP-Adresse und Host-Header verwendet, um festzustellen, welcher Standort angezeigt werden soll. Um dieses Problem unter IIS im IIS-Manager auf dem Webserver zu lösen, klicken Sie mit der rechten Maustaste auf die Site für subdomain.hosttwo.com und dann auf "Eigenschaften". Auf der angezeigten Registerkarte "Website" sollte neben der IP-Adresse, auf die Sie klicken müssen, eine Schaltfläche "Erweitert" angezeigt werden. Klicken Sie im angezeigten Fenster "Advanced Web Site Identification" auf "Add". Wählen Sie dieselbe IP-Adresse aus, die bereits von subdomain.hosttwo.com verwendet wird, geben Sie 80 als TCP-Port ein und geben Sie dann subdomain.hosttwo.com als Host-Header-Wert ein. Klicken Sie auf OK, bis Sie wieder im Hauptfenster des IIS-Managers sind, und Sie sollten gut gehen. Öffnen Sie einen Browser, und wechseln Sie zu http://subdomain.hostone.com, und Sie werden die Website sehen bei http://subdomain.hosttwo.com erscheinen, auch wenn Ihre URL zeigt http://subdomain.hostone.com

Hoffnung, das hilft ...

+0

Ich bin mir ziemlich sicher, dass die PHP-Funktion header() nur aus Kleinbuchstaben besteht. –

+2

@UncleNinja: Während PHP die Funktion header() als Kleinbuchstaben definiert (und so sollte es im Code verwendet werden), ist die PHP-Sprache in dieser Hinsicht nicht von der Groß-/Kleinschreibung abhängig, so dass 'Header()' immer noch OK funktioniert . – MrWhite

+1

@ w3d danke, das wusste ich nicht! –

2

in diesen Tagen, viele Website-Betreiber sind mit CDN-Dienste welches Daten vom CDN Server holt. Wenn das Ihr Fall ist, dann sind Sie mit zwei Optionen links:

  1. erstellen eine Sub-Domain und Bearbeiten von DNS durch einen Datensatz CNAME Hinzufügen

  2. Sie nicht eine Sub-Domain erstellen, sondern nur einen CNAME-Datensatz erstellen, die zurück zu Ihre temporäre DNS-URL.

Diese Lösung impliziert nur Code aus CDN zu ziehen, die zeigen, dass er Daten von cdn.sitename.com ist holen, aber praktisch seine Ziehen von Ihrer CDN-Host.