Cloud Hosting

Fale com um consultor

Por favor digite seu nome
Por favor digite seu telefone
Por favor digite um email válido
Por favor digite a mensagem
Para enviar é preciso aceitar as Políticas de Privacidade

* Campos obrigatórios

Redirecionamento de URL non-www e www no NGiNX

Configure os redirecionamentos de URL non-www e www no NGiNX para evitar nomes de host redundantes e manter a consistência nos endereços do site. Aprenda a direcionar URLs non-www para www e vice-versa, garantindo que seu site seja acessível de forma consistente e eficaz.

Redirecionamento de URL non-www e www no NGiNX

Introdução

Você pode executar um site no endereço www ou não-www como preferir, mas para evitar nomes de host redundantes, é recomendável escolher um estilo e ser consistente em todo o seu site. Qualquer que seja o endereço que você escolher, você deve fazer um redirecionamento permanente HTTP 301 do outro endereço para evitar que o Google Analytics o registre como um nome de host redundante.

Este artigo descreve como configurar o Nginx para redirecionar um URL não-www para o endereço www, e vice-versa.

Pré-requisitos

  • Você tem uma instância Linux executando o Nginx.
  • Você tem um nome de domínio como example.com cujos registros DNS A para "@" e "www" estão apontando para o endereço IP da instância.

Nginx Hospedando um Único Domínio

Como Redirecionar de não-www para www

  1. Localize o arquivo de configuração do seu host virtual, que geralmente está localizado em /etc/nginx/sites-available.

  2. Adicione um novo bloco de servidor no topo, acima do bloco de servidor existente, assim:

     server {
         listen 80;
         server_name example.com;
         return 301 $scheme://www.example.com$request_uri;
     }
    

    Esta diretiva diz ao Nginx para enviar qualquer solicitação para http://example.com para http://www.example.com com o código de redirecionamento HTTP 301.

  3. Reinicie o Nginx para aplicar a alteração. Sistemas Ubuntu ou Debian usam o comando:

     $ sudo systemctl restart nginx
    

Como Redirecionar de www para não-www

  1. Localize o arquivo de configuração do seu host virtual, que geralmente está localizado em /etc/nginx/sites-available.

  2. Adicione um novo bloco de servidor no topo, acima do bloco de servidor existente, assim:

     server {
         listen 80;
         server_name www.example.com;
         return 301 $scheme://example.com$request_uri;
     }
    

    Esta diretiva diz ao Nginx para enviar qualquer solicitação para http://www.example.com para http://example.com com o código de redirecionamento HTTP 301.

  3. Reinicie o Nginx para aplicar a alteração. Sistemas Ubuntu ou Debian usam o comando:

     $ sudo systemctl restart nginx
    

Nginx Hospedando Múltiplos Domínios

Se o seu servidor Nginx estiver hospedando múltiplos domínios, use este método para combinar todos os nomes de domínio.

Para redirecionar o URL não-www para o endereço www para todos os domínios, adicione este trecho dentro da diretiva http em seu arquivo nginx.conf, que geralmente está localizado em /etc/nginx.

server {
    server_name "~^(?!www\.).*" ;
    return 301 $scheme://www.$host$request_uri;
}

Ou, para redirecionar o URL www para o endereço não-www para todos os domínios, adicione este trecho dentro da diretiva http em seu arquivo nginx.conf, que geralmente está localizado em /etc/nginx.

server {
    server_name "~^www\.(.*)$" ;
    return 301 $scheme://$1$request_uri ;
}

Reinicie o Nginx para aplicar a alteração. Sistemas Ubuntu ou Debian usam o comando:

$ sudo systemctl restart nginx

FAQ

Pergunta e respostas frequentes sobre o conteúdo.

Escolher um estilo de endereço (www ou não-www) e ser consistente em todo o site, fazendo um redirecionamento permanente HTTP 301 do outro estilo de endereço.

Evitar nomes de host redundantes e manter a consistência nos endereços do site.

Sim, o site será penalizado por conteúdo duplicado.

Adicionar um novo bloco de servidor no arquivo de configuração do host virtual, acima do bloco de servidor existente, com a diretiva return 301 $scheme://example.com$request_uri

Reiniciar o Nginx para aplicar as alterações.

Usar um método específico para redirecionar todos os URLs não-www para www ou vice-versa para todos os domínios.

Informar aos navegadores e motores de busca que uma página foi movida permanentemente para outra localização.

Redirecionamento permanente.

Quando uma página ou site foi movido permanentemente para uma nova localização.

Manter a consistência nos endereços do site, evitar nomes de host redundantes e manter a integridade dos links e do SEO.


Giancarlo Gil Ottaviani Raduan

Especialista linux, desenvolvedor web full-stack, PHP no sangue, graduando em Direito, pai da Lais e esposo da Simone


Você talvez goste destes outros tutoriais