2009-02-27 6 views
11

Ich betreibe einen Blog bei posterous.com, und sie können meinen Domain-Namen hosten, wenn ich einen A-Eintrag zu ihrer IP im benutzerdefinierten DNS-Tool meines Domain-Registrators erstelle.DNS-Gurus: Wie leitet man www.domain.com nur mit DNS zu domain.com weiter?

Das Problem ist, dass ich möchte, dass meine Domain IMMER domain.com liest, also möchte ich meine DNS remap alle Anfragen zu www.domain.com zu domain.com, und ich kann .htaccess oder PHP nicht verwenden oder andere Server-Methoden, da es nur eine Blog-Schnittstelle ist.

Bisher habe ich versucht:

 
@ A target.ip.address 
www CNAME domain.com 

Welche www.domain.com auf die rechte Seite umleitet, aber das www. ist immer noch auf der Domain. Ich habe gehört, was Sie tun können:

 
@ A target.ip.address 
www A internal.redirector.ip.address 

aber ich weiß nicht, mein Registrar die interne IP-Adresse, die diese Umleitung umgehen könnte (oder auch wenn es so etwas gibt tatsächlich).

Kann das, wonach ich frage, erledigt werden?

Danke, ihr Jungs rockt.

-Josh

+0

Ich will nicht Um eine permanente URL-Umleitung zu verwenden? 301 – Costa

Antwort

17

Nein, Sie können dies mit DNS nicht tun - das Ergebnis der DNS-Abfrage nicht ändern, was in der HTTP-Schicht geschieht, so dass der ursprünglich eingegebenen Domain-Name derjenige wird es immer sein, die gesendet werden der Webserver im Header Host:.

Webbrowser suchen nur A Datensätze im DNS, und es ist der rekursive Name-Server des Benutzers ISP, der erkennt, dass der Name tatsächlich nur einen CNAME Datensatz hat, den es dann nachschlägt, und gibt die diesem Name entsprechende IP-Adresse zurück in der CNAME Aufzeichnung.

Die übliche C gethostbyname() API gibt keine dieser CNAME Informationen an die Anwendung zurück, alles, was es jemals bekommt, ist die endgültige resultierende IP-Adresse.

Um das zu erreichen, was Sie wollen Sie arrangieren bräuchten, um für www.example.com getrennte Hosting von Ihrem Blog zu haben, und dann diese Seite eine HTTP zu example.com umleiten zu tun haben (dh ohne www Präfix)

+0

Was ich getan habe, war folgendes: 1. Richten Sie einen A-Eintrag auf dem DNS ein @ A target.it.address 2. Richten Sie einen A-Eintrag ein, um das www weiterzuleiten. zu einer Hobbyseite, wo ich eine PHP-Weiterleitung hosten könnte: www Eine hobby.ip.address 3. Erstellen Sie eine PHP-Datei mit 301 und Redirect Header Große Hilfe von allen; Diese Antwort hat mir am meisten geholfen – iopener

1

Ich bin mir nicht sicher, ob Sie dies mit DNS zu tun, aber ich bin sicher, dass Sie es mit etwas Javascript Tricks in Ihrer Blog-Vorlage durchführen können. Das heißt, ein JavaScript-Snippet, das bei jedem Laden der Seite ausgeführt wird, könnte den Server der aktuellen Seite überprüfen und den Speicherort neu schreiben, wenn dieser mit dem "www" übereinstimmt. Präfix. Zugegeben, es wird etwas flimmern, wenn die Seite geladen und dann neu geladen wird, und Suchmaschinen ignorieren diese Weiterleitung auch, sodass Ihr Inhalt unter der falschen Adresse in den Suchergebnissen angezeigt wird, aber zumindest die Benutzer die richtige, beabsichtigte Adresse sehen .

Alternative Idee: Wenn Ihr DNS-Registrar free-of-charge Web-Service zusätzlich bietet, tut es die Umleitung, eine Rewrite-Regel fügen Sie den Anforderungspfad zu einem Skript Argumente zu übersetzen, und für jede Anforderung, erzeugt eine einfache Seite mit einem iframe, der auf den echten Inhalt zugreift. Dies erfordert wiederum einige PHP-Codierung, aber es sollte nicht zu schwierig sein.

+0

Gute Idee, aber posterous.com ist eine ziemlich simple Maschine (schön so, aber dieses Problem, das ich habe, ist ein kleiner Schmerz), und es gibt keine "Schablone", die Sie aktualisieren können. Ich würde das Javascript in jedem Beitrag einbetten müssen, und dann sicherstellen, dass es nicht erneut auf Seiten lief, die alle Beiträge aufzählten ... Gongshow. – iopener

+0

Keine editierbare Vorlage? Nicht einmal ein winziger Teil des Headers, wo Sie zum Beispiel Statistik bezogenen Code hinzufügen können? Brrrr .... –

+0

Ich weiß. Es ist sehr hands-off, aber es wird mich davon abhalten, ständig zu fiedeln, anstatt wirklich zu schreiben :) Sie enthalten Tonnen von automatisiertem Zeug, wie automatisches Cross-Posting auf Twitter, Flickr usw. und sogar die Integration von Google Analytics. Dies ist ein kleines, anales Problem im Vergleich zu allen Vorteilen – iopener

3

Kann das, wonach ich frage, erledigt werden?

Nein, nicht mit DNS.

Sie könnten etwas mit einem dyndns.com-Webshop einrichten. Im Grunde verweisen Sie www.posterous.com auf den dyndns-Server, wenn ein Browser eine Verbindung herstellt, senden sie eine HTTP 302-Weiterleitung an die von Ihnen gewünschte URL (posterous.com).

http://www.dyndns.com/services/webredirect/

+0

Es muss einen guten technischen/Sicherheitsgrund geben, warum der DNS nicht in das Umschreiben der URL involviert wird, nehme ich an. Danke für deinen Beitrag. Ich werde die Frage ein wenig offen lassen und sehen, ob ich irgendwelche anderen Vorschläge bekomme, bevor ich Ihre Antwort überprüfe und mich verbiete :) – iopener

+0

es heißt eine "Überlappungsverletzung". Was immer der Benutzer * eingegeben hat * muss sein, was in den Host: Header - der DNS ist nur da, um herauszufinden, welche IP-Adresse diese Header gesendet werden. – Alnitak