2009-02-27 8 views
11

J'exécute un blog sur posterous.com, et ils peuvent héberger mon nom de domaine si je crée un enregistrement A sur leur adresse IP dans l'outil DNS personnalisé de mon registrar de domaine. Le problème est que je veux que mon domaine lit TOUJOURS domain.com, donc je veux que mon DNS remappe toutes les demandes à www.domain.com à domain.com, et je ne peux pas utiliser .htaccess ou PHP ou d'autres méthodes de serveur, puisque c'est juste une interface de blog.Gurus DNS: Comment rediriger www.domain.com vers domain.com en utilisant DNS uniquement?

Jusqu'à présent, j'ai essayé:

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

qui redirige www.domain.com sur le site à droite, mais le www. est toujours sur le domaine. Je vous ai entendu pourriez faire:

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

mais je ne sais pas l'adresse IP interne de mon bureau d'enregistrement qui pourrait gérer cette redirection (ou même si une telle chose existe réellement).

Est-ce que ce que je demande peut être fait?

Merci, vous les gars.

-Josh

+0

Vous ne voulez pas utiliser une redirection d'URL permanente? 301 – Costa

Répondre

17

Non, vous ne pouvez pas le faire avec DNS - le résultat de la requête DNS ne change pas ce qui se passe dans la couche HTTP de sorte que le nom de domaine à l'origine entré sera toujours celui qui est envoyé à le serveur Web dans l'en-tête Host:.

navigateurs Web ne recherchent que des A enregistrements dans le DNS, et il est serveur de noms récursif FAI de l'utilisateur qui détecte que le nom fait n'a qu'un CNAME enregistrement, qu'il recherche alors, et renvoie l'adresse IP correspondant à ce nom dans l'enregistrement CNAME.

L'API habituelle C gethostbyname() ne renvoie aucune de ces informations CNAME à l'application, tout ce qu'elle obtient est l'adresse IP finale résultante.

Pour obtenir ce que vous voulez, vous aurez besoin d'organiser www.example.com d'avoir l'hébergement séparé de votre blog, et ensuite ce site faire une redirection HTTP vers example.com (sans le préfixe www)

+0

Ce que j'ai fait est le suivant: 1. Configurer un enregistrement A sur le DNS @ A target.it.adresse 2. Configurer un enregistrement A pour transférer le fichier www. vers un site de passe-temps où je pourrais héberger une redirection PHP: www A hobby.ip.address 3. Créer un fichier PHP avec 301 et rediriger l'en-tête Grande aide de tout le monde; cette réponse m'a aidé le plus – iopener

1

Je ne sais pas si vous pouvez le faire avec le DNS, mais je suis certain que vous pouvez réaliser avec une supercherie javascript dans votre modèle de blog. Par exemple, un extrait de javascript exécuté sur chaque chargement de page peut vérifier le serveur de la page en cours et réécrire l'emplacement s'il correspond au "www". préfixe. Certes, il y aura des scintillements lorsque la page se chargera puis rechargera, et les moteurs de recherche ne tiendront pas compte de cette redirection, donc votre contenu apparaîtra sous la mauvaise adresse dans les résultats de recherche, mais au moins les utilisateurs verront l'adresse correcte .

idée alternative: Si votre bureau d'enregistrement DNS offre un service Web gratuit de charge en plus, faire la redirection là, ajoutez une règle de réécriture pour traduire le chemin de la requête à un argument de script, et pour chaque demande, générer un page simple avec un iframe accédant au contenu réel. Cela nécessite encore un peu de codage PHP, mais cela ne devrait pas être trop difficile.

+0

Bonne idée, mais posterous.com est un moteur assez simpliste (magnifiquement, mais ce problème que j'ai est une douleur mineure), et il n'y a pas de "modèle" que vous pouvez mettre à jour. Je devrais incorporer le javascript dans chaque article, et ensuite m'assurer qu'il ne fonctionne pas sur les pages qui ont listé tous les messages ... gong show. – iopener

+0

Aucun modèle modifiable? Pas même une petite partie de l'en-tête où vous pouvez ajouter, par exemple, le code lié aux statistiques? Brrrr .... –

+0

Je sais. C'est très pratique, mais ça m'empêchera de jouer du violon au lieu d'écrire réellement :) Ils intègrent des tonnes de trucs automatisés, comme la publication automatique sur twitter, flickr, etc., et même l'intégration de Google Analytics. C'est un petit problème anale par rapport à tous les avantages – iopener

3

Est-ce que ce que je demande peut être fait?

Non, pas avec DNS.

Vous pouvez configurer quelque chose avec quelque chose comme un webshop dyndns.com. Fondamentalement, vous pointez www.posterous.com sur le serveur dyndns, lorsqu'un navigateur se connecte, ils envoient une redirection HTTP 302 à l'URL que vous voulez (posterous.com).

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

+0

Il doit y avoir une bonne raison technique/sécurité pour laquelle le DNS ne sera pas impliqué dans la réécriture de l'URL, je suppose. Merci pour votre contribution. Je vais laisser la question ouverte un peu et voir si je reçois d'autres suggestions avant de vérifier votre réponse et admettre la défaite :) – iopener

+0

c'est ce qu'on appelle une «violation de superposition». Quel que soit l'utilisateur tapé * a * pour être ce qui va dans l'en-tête Host: le DNS est seulement là pour déterminer à quelle adresse IP ces en-têtes sont envoyés. – Alnitak

Questions connexes