Isso soa como o comportamento esperado. Exatamente o que acontece quando o servidor HTTP recebe uma solicitação com a qual ele não sabe como lidar pode ser diferente, mas nenhum redirecionamento é esperado a menos que aconteça no nível HTTP.
Um registro CNAME
está meramente afirmando que um determinado nome no DNS é um alias de um nome diferente no DNS.
O que acontece quando você tem um registro CNAME
no lugar é que quando o cliente HTTP faz uma consulta A
ou AAAA
para o nome do alias, ele recebe o endereço IP associado ao nome real retornado.
Eles se conectarão a esse endereço, sabendo que é o endereço associado ao nome que eles pesquisaram (o alias) e farão uma solicitação totalmente normal.
Quando você tem hosts virtuais baseados em nome, o que o servidor HTTP se importa é o que o cabeçalho Host
diz e o cliente colocará qualquer nome de host que estivesse na URL para a qual navegou como o valor desse cabeçalho (neste exemplo, o alias).
Se você quiser redirecionar um cliente HTTP, precisará de um redirecionamento HTTP, como em seu próprio exemplo.