Eu tenho 2 domínios hospedados com hosts diferentes. Preciso redirecionar o domínio A para o domínio B. Infelizmente não posso fazer um redirecionamento 301 do host A, mas só posso modificar / adicionar entradas DNS (registros A e CNAMEs) no host A.
Certamente é possível redirecionar www.DomainA.com para www.DomainB.com usando apenas registros A e CNAMEs?
No momento, as entradas DNS são:
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.
Eu quero redirecionar
DomainA.com -> DomainB.com
*.DomainA.com -> *.DomainB.com
Eu tentei a sugestão deste outro post, mas não funcionou.
Como posso conseguir isso apenas com A-Records e CNAMEs, por favor? Obrigado pelo seu conselho.
Prembo.
Respostas:
Portanto, você não está olhando para o redirecionamento como tal (como acontece no nível do aplicativo, ou seja, no Apache / Nginx / em qualquer outro lugar), mas na resolução do DNS. O host no qual o DomainA está hospedado será ou nunca será atingido, com base na sua descrição, pois você deseja que as solicitações de DNS sejam resolvidas para os IPs do DomainB. A menos que esteja faltando alguma coisa em sua solicitação?
Como Shane apontou, o DNS não é capaz de redirecionar HTTP - esse é um dever do aplicativo / servidor da web. Você poderia fazer o DomainA e o DomainB resolverem o mesmo IP no DNS e tudo funcionaria. Mas se você deseja fazer isso por URL / caminho, isso não é possível - o DNS não é capaz disso - é um simples serviço DNS-> IP, o que está acontecendo com o URL real é a tarefa do servidor da web.
Após o comentário abaixo, o que eu faria é referenciar todos os registros DNS do DomainA para os mesmos IPs que o DomainB é apontado - dessa forma, você receberá a solicitação HTTP atingindo o hostB e, em seguida, é apenas uma questão de:
Isso reescreverá qualquer coisa que venha ao DomainB para o DomainA que possa ser hospedado no mesmo servidor ou em outro lugar. Compreendo que a segunda opção seja provavelmente uma sobrecarga e não será necessária se você puder / tiver permissão para criar hosts virtuais baseados em nome no apache.
Eu iria com 1. - aponte todos os registros DNS do DomainA para os mesmos IPs que o DomainB está apontando e crie VirtualHosts baseados em nome no Apache.
fonte
domain B
ao host virtual existentedomain A
?Como outros já declararam, não é possível executar o redirecionamento HTTP apenas com o DNS. DNS e HTTP trabalham juntos para redirecionar um usuário de uma página da web para outra.
Você pode usar o DNS por si só para fazer com que o domínio A mostre o mesmo conteúdo que o domínio B, mas o navegador exibirá o domínio A no URL. Você precisa ter muito cuidado com isso, pois é muito ruim do ponto de vista de SEO. Você terá problemas por "conteúdo duplicado", e os mecanismos de pesquisa o punirão por isso.
A maneira correta (de uma perspectiva de UX e SEO) de fazer esse trabalho é executar um redirecionamento HTTP do domínio A para o domínio B.
Você pode configurar manualmente seus servidores da Web (Apache, Nginx, IIS etc.) para fazer esse trabalho se você for tecnicamente capaz. Existem muitos bons recursos para ajudá-lo na Web.
Se você não pode ou não deseja controlar a infraestrutura, pode usar um serviço de redirecionamento de URL para executar este trabalho para você. Eu sou o fundador de um chamado EasyRedir , mas certamente existem outros.
fonte
O domínio A precisa ter os mesmos endereços IP do domínio B. Não há necessidade de qualquer referência a B na definição de A. Os navegadores da Web não "seguem" CNAMEs como redirecionamento, eles manterão o mesmo nome de host e usarão o próprio registro do CNAME para resolver para um endereço IP.
Se você deseja que B apareça no navegador quando A é visitado (opcional e não relacionado ao DNS), é necessário corresponder ao host HTTP e redirecionar as solicitações no servidor da Web. com o Apache, você usaria mod_rewrite para fazer isso em uma definição de host virtual:
fonte
Claro que é possível redirecionar, com o seguinte truque:
em branco ....................... A ......................... ... ip-addr-2
www ......................... A ....................... ..... ip-addr-2
O que temos aqui é redirecionamento, essencialmente. Um URL válido será resolvido com base na zona DNS principal do DNS existente. Um URL fictício será redirecionado para ip-addr-2. O que é importante é que o nome dessa entrada esteja em branco; portanto, ela cairá para a próxima entrada no registro e será redirecionada para ip-addr-2
fonte
Eu não tentei, mas acho que você pode fazer isso:
Isso é, em vez de qualquer outro registro no arquivo de zona DomainA. Não SOA, nada.
Não tente fazer isso em um domínio que você gosta de trabalhar.
fonte
CNAME
registros em domínios nus / apicais comodomain.com
, mas você pode em subdomínios comowww.domain.com