Eu tenho 2 domínios hospedados com hosts diferentes. Eu 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 (A-Records e CNAMEs) no Host A.
Certamente é possível redirecionar www.DomainA.com para www.DomainB.com usando apenas registros A e CNAMEs?
Atualmente, 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.
quero redirecionar
DomainA.com -> DomainB.com
*.DomainA.com -> *.DomainB.com
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.
Portanto, você não está olhando para o redirecionamento como tal (como isso acontece no nível do aplicativo, ou seja, no Apache/Nginx/wherever), mas sim na resolução do DNS. O host no qual o DomainA está hospedado será ou nunca deve ser atingido, com base em sua descrição, pois você deseja que as solicitações de DNS sejam resolvidas para os IPs do DomainB. A menos que eu esteja faltando algo em seu pedido?
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 DomainB resolverem para 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 serviço simples de DNS->IP, o que está acontecendo com o URL real é tarefa do servidor da web.
Após o comentário abaixo, o que eu faria é encaminhar todos os registros DNS do DomínioA para o(s) mesmo(s) IP(s) para o qual o DomínioB é apontado - dessa forma, você receberá uma solicitação HTTP atingindo o hostB e, em seguida, é apenas uma questão simples de:
Isso reescreverá qualquer coisa que chegue ao DomínioB para o DomínioA que possa ser hospedado no mesmo servidor ou em outro lugar. Eu aprecio que a segunda opção é provavelmente uma sobrecarga e não é necessária se você puder / tiver permissão para criar hosts virtuais baseados em nome no apache.
Eu iria com 1. - apontar todos os registros DNS do DomínioA para o mesmo IP(s) que o DomínioB está apontando e criar VirtualHosts baseados em nomes específicos no Apache.
Como outros afirmaram, não é possível realizar 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 da web mostrará o domínio A na 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 isso funcionar é realizar um redirecionamento HTTP do Domínio A para o Domínio B.
Você pode configurar manualmente seus servidores web (Apache, Nginx, IIS, etc.) Existem muitos recursos bons para ajudar com isso na web.
Se você não puder ou não quiser controlar a infraestrutura, poderá usar um serviço de redirecionamento de URL para realizar esse trabalho para você. Eu sou o fundador de um chamado EasyRedir , mas certamente existem outros.
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 um endereço IP.
Se desejar que B apareça no navegador quando A for visitado (opcional e não relacionado ao DNS), você precisa corresponder ao Host HTTP e redirecionar as solicitações no servidor Web. com o Apache, você usaria mod_rewrite para fazer assim em uma definição de host virtual:
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 primária do DNS existente. Um URL fictício será redirecionado para ip-addr-2. O importante é que o nome desta entrada esteja em branco, então ele cairá para a próxima entrada no registro e redirecionará para ip-addr-2
Se você realmente deseja redirecionar um domínio com apenas registros DNS e está de acordo com serviços de terceiros, pode usar forwarddomain.net .
Ele funciona definindo seu domínio de origem (por exemplo
www.olddomain.com
) CNAME parar.forwarddomain.net
(ou registros A+AAAA disso) e configurando a URL do domínio de destino escrevendo um registro TXT com_
prefixo (por exemplo_.www.olddomain.com
) para esse domínio comforward-domain=
prefixo (por exemploforward-domain=https://newdomain.net
). O registro DNS completo será:Isso redirecionará
www.olddomain.net
paranewdomain.net
, também funciona com HTTPS.Eu não tentei, mas acho que você pode fazer isso:
Isso é em vez de qualquer outro registro no arquivo de zona DomainA. Sem SOA, nada.
Não tente isso em um domínio que você gosta de trabalhar.