Eu tenho um domínio para o meu site:
example.com
Também estou executando o DNS local com estas linhas:
www IN CNAME server.<host_provider>.com.
dev IN CNAME server.<host_provider>.com.
Portanto, www.example.com
e dev.example.com
vão para sites de produção e desenvolvimento, respectivamente, hospedados por uma empresa anfitriã.
Na minha configuração do Apache para o site principal, estou executando uma regra de reescrita como esta:
RewriteEngine ON
RewriteCond %{HTTP_HOST} ^example\.com$|!dev\.example\.com$ [NC]
RewriteRule ^(.*)$ http://www\.%{HTTP_HOST}/$1 [R=302,L,NE]
Esta regra parece funcionar, pois quando você está fora da rede e acessa example.com
no navegador, você é redirecionado para www.example.com
.
O problema é quando estou na rede e vou para example.com
. Recebo uma página de erro, dizendo que a página não pode ser encontrada. Nenhum erro do servidor; apenas uma página não pode ser encontrada, como se o DNS local estivesse fazendo com que parasse de procurar naquele ponto.
Também estou usando o Nettica para serviço DNS e tenho esse registro A:
example.com Host (A) Default xxx.xx.xxx.xx
Isso lida com o DNS externo, mas meu problema parece estar relacionado ao meu DNS interno.
Por exemplo, dentro da minha rede, posso ir para servidores na rede com endereços como este:
server.example.com
%código%
server1.example.com
Estes são configurados no meu DNS local. Só não sei como passar pelo subdomínio "vazio" e ir para server2.example.com
.
Além disso, pode não estar claro. Se eu estiver do lado de fora da rede example.com
, em outra rede, como example.com
, quando eu for para example123.com
, sou redirecionado para example.com
como esperado, por exemplo, a regra de reescrita do Apache está funcionando. / p>
EDITAR
Com a ajuda de @ErikE, solucionando problemas e testando, encontrei uma resposta. Parece que descobri outra maneira, juntamente com a sugestão do @ ErikE:
No DNS local, adicionar um desses parece funcionar:
example.com IN CNAME server.<host_provider>.com.
example.com IN CNAME www.example.com.
Obrigado.