Site com e sem www: como fazer abrir nos dois endereços
Aprenda a configurar o DNS, o redirecionamento 301 no Nginx e no Apache e o certificado HTTPS para o seu site abrir com e sem www.
Por Redação Eleven Host · @robson.direitodigital · 1 de novembro de 2026 · 9 min de leitura

Capa da Redação Eleven Host para o guia: Site com e sem www: como fazer abrir nos dois endereços Arte: Eleven Host
Para deixar o site com e sem www funcionando, os dois nomes precisam apontar no DNS para o servidor, e um deles deve redirecionar para o outro com 301, com certificado HTTPS que cubra os dois.
Por que o site precisa abrir nos dois endereços
O visitante digita o endereço do jeito que lembra: às vezes exemplo.com.br, às vezes www.exemplo.com.br. Para o navegador e para os buscadores, são dois nomes diferentes. Se só um deles responde, quem digita o outro vê uma página de erro. Se os dois respondem com o mesmo conteúdo, o site existe em dois endereços ao mesmo tempo.
A documentação da MDN sobre o assunto é direta: escolha um dos domínios como o canônico e fique com ele ("you need to choose one and stick with it"). Para o Google, a orientação da página sobre URLs duplicadas é escolher uma das URLs como canônica e usar redirecionamentos, que ele descreve como um sinal forte de que o destino do redirecionamento deve virar a URL canônica.
O desenho final tem três peças, e as seções abaixo cobrem uma a uma: o DNS dos dois nomes, o redirecionamento 301 de um para o outro e o certificado que vale para os dois.
Os dois endereços abrem, mas só um deles é o definitivo: o outro apenas encaminha o visitante para ele.
Escolher a versão principal
Não existe uma versão certa: o que importa é escolher uma e manter. A decisão é sua:
- Com www: o www é um subdomínio, e por isso aceita um registro CNAME, o que dá mais flexibilidade de configuração no DNS (a próxima seção explica o motivo).
- Sem www: o endereço fica mais curto, e é o nome do domínio puro, sem prefixo.
Depois de escolher, mantenha a escolha. Use a mesma versão nos links do site, no mapa do site e nos materiais da empresa. A MDN também cita uma alternativa ao redirecionamento: a tag <link rel="canonical"> dentro da página, que indica qual é o endereço canônico. Aqui o caminho é o redirecionamento 301, porque o Google descreve os redirecionamentos como sinal forte para a URL canônica e porque ele leva o próprio visitante ao endereço certo.
Nos exemplos a seguir, o endereço principal é www.exemplo.com.br e o exemplo.com.br redireciona para ele. Para fazer o contrário, inverta os nomes.
Configurar o DNS dos dois nomes
Primeiro, o domínio precisa estar registrado. Se você ainda está nessa etapa, o guia O que é registro de domínio e como funciona explica o processo. Para os domínios registrados na Eleven Host, o DNS gerenciado é grátis na rede da Cloudflare, com painel na área do cliente.
Na zona DNS, crie duas entradas:
- Domínio raiz (
exemplo.com.br): registro A apontando para o IP do servidor, por exemplo203.0.113.10. - www: registro CNAME apontando para
exemplo.com.br, ou um registro A com o mesmo IP.
Por que a raiz não leva CNAME
A RFC 1034 diz que, se existe um CNAME num nome, nenhum outro dado deve existir nele: isso garante que o nome canônico e os apelidos não possam divergir. Já o topo de uma zona precisa ter os registros NS, com os servidores da zona, e um registro SOA, com os parâmetros de gerenciamento. Juntando as duas coisas, o domínio raiz não pode ter CNAME, porque ele já carrega SOA e NS. Por isso a raiz usa A (ou AAAA, para IPv6) e o www pode usar CNAME.
Um CNAME criado na raiz também pode quebrar o e-mail do domínio, que depende de registros que ficam nesse mesmo nome. Se o seu provedor mostra o campo CNAME como opção para a raiz, prefira o registro A.
Para conferir se os dois nomes já respondem com o IP certo, use o dig, explicado no guia dig e nslookup: como consultar o DNS de um domínio. A mudança no DNS leva um tempo para aparecer nas consultas, então consulte de novo se o resultado antigo aparecer.
Ainda não tem um domínio? Registre o seu na Eleven Host. Registrar domínio
Redirecionar com 301 no Nginx
O código 301 (Moved Permanently), segundo a MDN, indica que o recurso foi movido de forma permanente para a URL do cabeçalho Location. A MDN também diz que os buscadores que recebem essa resposta passam os links da URL antiga para a nova.
No Nginx, a documentação oficial ensina a criar um bloco server separado para o nome que vai redirecionar. Ela chama de "wrong, cumbersome, and ineffective" o jeito com if no $http_host. O exemplo oficial usa http://; aqui ele aponta para https:// e se repete no bloco da porta 443, para o HTTPS do nome secundário também redirecionar:
server {
listen 80;
server_name exemplo.com.br www.exemplo.com.br;
return 301 https://www.exemplo.com.br$request_uri;
}
server {
listen 443 ssl;
server_name exemplo.com.br;
# as linhas ssl_certificate e ssl_certificate_key do seu certificado ficam aqui
return 301 https://www.exemplo.com.br$request_uri;
}
O primeiro bloco manda o acesso em HTTP (porta 80) dos dois nomes para o endereço principal em HTTPS. O segundo trata o exemplo.com.br que chega em HTTPS. O bloco do www.exemplo.com.br na porta 443 é o seu site de verdade e continua como está. A variável $request_uri mantém o caminho e os parâmetros, e por isso exemplo.com.br/contato vai para www.exemplo.com.br/contato.
Redirecionar com 301 no Apache
Na documentação do Apache, o melhor jeito de tratar o nome não canônico não usa o mod_rewrite, e sim a diretiva Redirect dentro de um host virtual para o nome que redireciona. Há um detalhe importante: sem o argumento de status, o Redirect responde com 302 (temporário), e os exemplos oficiais não trazem o 301. Para o redirecionamento permanente, escreva permanent:
<VirtualHost *:80>
ServerName exemplo.com.br
Redirect permanent "/" "https://www.exemplo.com.br/"
</VirtualHost>
O www.exemplo.com.br na porta 80 também precisa mandar o visitante para HTTPS: no host virtual dele, use Redirect permanent "/" "https://www.exemplo.com.br/". Repita também o bloco acima para a porta 443, com o VirtualHost *:443 e as linhas do certificado do seu domínio. Se você prefere o mod_rewrite, a bandeira R também responde 302 se você não indicar o status, e o 301 precisa ser escrito, como em [R=301,L]. O guia Redirecionar domínio para outro site: como fazer trata de outro caso, o de mandar um domínio inteiro para um site diferente, e este aqui trata dos dois nomes do mesmo site.
HTTPS para os dois nomes
O certificado precisa cobrir o exemplo.com.br e o www.exemplo.com.br. Com um certificado só para um dos nomes, o visitante que entra pelo outro recebe um erro de certificado antes mesmo de chegar ao redirecionamento. A FAQ do Let's Encrypt confirma que o mesmo certificado pode ter vários nomes pelo mecanismo SAN (Subject Alternative Name). No Certbot, você lista os dois com a opção -d:
certbot certonly -d exemplo.com.br -d www.exemplo.com.br
A documentação do Certbot explica que os domínios da lista entram como nomes alternativos no mesmo certificado, e que o primeiro domínio da lista vira o nome do certificado, a não ser que você indique outro. Os certificados padrão do Let's Encrypt têm validade de 90 dias, então planeje a renovação. Certificado curinga é outro assunto: a FAQ diz que ele só é emitido pelo desafio DNS-01, e para dois nomes conhecidos a lista com -d resolve.
Testar o redirecionamento
Teste antes de dar o assunto por encerrado. Um 301 com o destino errado fica guardado no navegador, porque o redirecionamento permanente é lembrado. Por isso, abra os testes em janela anônima ou use um 302 enquanto você ajusta e troque para 301 só quando o destino estiver certo.
Peça os cabeçalhos de cada endereço e confira duas coisas: o código 301 e o cabeçalho Location apontando para o endereço principal. O comando é este:
curl -I http://exemplo.com.br
O guia Comando curl: como testar sites e APIs pela VPS mostra mais usos desse comando. Repita o teste para as quatro combinações: http://exemplo.com.br, https://exemplo.com.br, http://www.exemplo.com.br e https://www.exemplo.com.br. As três primeiras devem terminar no endereço principal em HTTPS (no exemplo Apache, o http://www depende de o seu site já redirecionar HTTP para HTTPS), e a quarta deve abrir direto, sem redirecionar.
Checklist do site com e sem www
- Versão principal escolhida e usada nos links do site.
- Registro A na raiz apontando para o IP do servidor, sem CNAME na raiz.
- Registro CNAME ou A no www apontando para o mesmo servidor.
- Consulta de DNS conferida com
digpara os dois nomes. - Redirecionamento 301 do nome secundário para o principal, em HTTP e em HTTPS.
- No Apache,
Redirect permanentou[R=301,L], e não o padrão 302. - Certificado emitido com os dois nomes (
-dpara cada um). - Teste das quatro combinações de endereço, em janela anônima.
Quer um servidor para o seu site? VPS a partir de R$ 17,00/mês no Plano Bronze; confira na loja o que cada plano inclui. Ver os planos de VPS
Perguntas frequentes
Como fazer o site abrir com e sem www?
Aponte os dois nomes para o servidor no DNS, escolha uma versão principal, redirecione a outra com 301 e emita um certificado HTTPS que cubra os dois nomes.
Posso criar um CNAME no domínio raiz?
Não é indicado. A raiz da zona já tem os registros SOA e NS, e o CNAME não admite outros dados no mesmo nome. Use o registro A na raiz e deixe o CNAME para o www.
Devo usar 301 ou 302?
Para a troca definitiva entre os dois endereços, o 301. O 302 é temporário, e serve para testar. No Apache, lembre que o Redirect sem status responde 302.
Ter os dois endereços prejudica o Google?
A documentação do Google fala em escolher uma URL canônica e usar redirecionamentos, e não em punição. Um redirecionamento 301 é o caminho indicado.
Um certificado serve para os dois nomes?
Sim. A FAQ do Let's Encrypt confirma que o mesmo certificado pode ter vários nomes. No Certbot, use -d uma vez para cada nome.