J'ai 2 domaines hébergés avec des hôtes différents. J'ai besoin de rediriger le domaine A vers le domaine B. Malheureusement, je ne peux pas effectuer de redirection 301 à partir de l'hôte A, mais je ne peux que modifier / ajouter des entrées DNS (enregistrements A et CNAME) sur l'hôte A.
Il est sûrement possible de rediriger www.DomainA.com vers www.DomainB.com en utilisant uniquement les enregistrements A et les CNAME.
À l'heure actuelle, les entrées DNS sont:
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.
Je veux rediriger
DomainA.com -> DomainB.com
*.DomainA.com -> *.DomainB.com
J'ai essayé la suggestion de cet autre message mais cela n'a pas fonctionné.
Comment est-ce que je peux réaliser ceci seulement avec A-Records et CNAMEs s'il vous plaît? Merci pour votre conseil.
Prembo.
Réponses:
Donc, vous ne regardez pas la redirection en tant que telle (comme cela se produit au niveau de l'application, c'est-à-dire sur Apache / Nginx / où que ce soit), mais plutôt sur la résolution DNS. L'hôte sur lequel DomainA est hébergé sera ou ne devrait jamais être touché, en fonction de votre description car vous souhaitez que les demandes DNS soient résolues en adresses IP de DomainB. À moins que je manque quelque chose dans votre demande?
Comme Shane l'a souligné, le DNS n'est pas capable de redirection HTTP - c'est un devoir pour les applications / serveurs Web. Vous pouvez faire en sorte que DomainA et DomainB résolvent à la même adresse IP sur DNS et tout fonctionnerait. Mais si vous cherchez à le faire par URL / par chemin, ce n'est pas possible - le DNS n'en est pas capable - c'est un simple service DNS-> IP, ce qui se passe avec l'URL réelle est la tâche du serveur Web.
Après le commentaire ci-dessous, je préférerais que tous les enregistrements DNS de DomainA soient référencés sur la même adresse IP que celle désignée par DomainB. De cette manière, vous obtiendrez une requête HTTP sur hostB et vous n'aurez plus qu'à choisir:
Cela réécrira tout ce qui vient de DomainB sur DomainA et qui peut être hébergé sur le même serveur ou ailleurs. J'apprécie le fait que la deuxième option est probablement une surcharge et n'est pas nécessaire si vous pouvez / êtes autorisé à créer des hôtes virtuels basés sur un nom sur Apache.
J'irais avec 1. - pointer tous les enregistrements DNS de DomainA sur la même adresse IP que DomainB pointe et créer des hôtes virtuels nominatifs particuliers sur Apache.
la source
domain B
à l'hôte virtuel existant pourdomain A
?Comme d'autres l'ont déjà indiqué, il n'est pas possible d'effectuer une redirection HTTP avec DNS seul. DNS et HTTP fonctionnent ensemble pour rediriger un utilisateur d'une page Web vers une autre.
Vous pouvez utiliser le DNS lui-même pour que le domaine A affiche le même contenu que le domaine B, mais le navigateur Web affichera le domaine A dans l'URL. Vous devez être très prudent avec cela car c'est assez mauvais du point de vue du référencement. Vous aurez des ennuis pour le "contenu en double" et les moteurs de recherche vous puniront pour cela.
La manière correcte (du point de vue de l'UX et du référencement) de rendre ce travail efficace consiste à effectuer une redirection HTTP du domaine A vers le domaine B.
Vous pouvez configurer manuellement vos serveurs Web (Apache, Nginx, IIS, etc.) pour qu’ils s’acquittent de cette tâche pour vous, si vous en êtes techniquement capable. Il existe de nombreuses ressources utiles sur le Web pour vous aider.
Si vous ne pouvez pas ou ne voulez pas contrôler l'infrastructure, vous pouvez utiliser un service de redirection d'URL pour effectuer ce travail à votre place. Je suis le fondateur de celui qui s'appelle EasyRedir , mais il y en a certainement d'autres.
la source
Le domaine A doit avoir les mêmes adresses IP que dans le domaine B. Il n'est pas nécessaire de faire référence à B dans la définition de A. Les navigateurs Web ne "suivent" pas la redirection des CNAME, ils conserveront le même nom d'hôte et utiliseront leur propre enregistrement pour se transformer en adresse IP.
Si vous souhaitez que B apparaisse dans le navigateur lors de la visite de A (facultatif et non lié à DNS), vous devez faire correspondre l'hôte HTTP et rediriger les demandes sur le serveur Web. avec Apache, vous utiliseriez mod_rewrite pour le faire comme ceci dans une définition d'hôte virtuel:
la source
Bien sûr, il est possible de rediriger, avec le truc suivant:
vide ....................... A ......................... ... ip-addr-2
www ......................... A ....................... ..... ip-addr-2
Ce que nous avons ici est essentiellement une redirection. Une URL valide sera résolue en fonction de la zone DNS primaire DNS existante. Une URL fictive sera redirigée vers ip-addr-2. Ce qui est important, c’est que le nom de cette entrée soit vide, il sera donc redirigé vers la prochaine entrée de l’enregistrement et redirigé vers ip-addr-2.
la source
Je n'ai pas essayé, mais je pense que vous pouvez faire ceci:
Cela remplace tout autre enregistrement dans le fichier de zone DomainA. Pas de SOA, rien.
N'essayez pas cela dans un domaine que vous aimez travailler.
la source
CNAME
enregistrements sur des domaines nus / apexdomain.com
, mais sur des sous-domaines tels quewww.domain.com