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.
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.
Localize o arquivo de configuração do seu host virtual, que geralmente está localizado em /etc/nginx/sites-available
.
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.
Reinicie o Nginx para aplicar a alteração. Sistemas Ubuntu ou Debian usam o comando:
$ sudo systemctl restart nginx
Localize o arquivo de configuração do seu host virtual, que geralmente está localizado em /etc/nginx/sites-available
.
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.
Reinicie o Nginx para aplicar a alteração. Sistemas Ubuntu ou Debian usam o comando:
$ sudo systemctl restart nginx
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
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.
Especialista linux, desenvolvedor web full-stack, PHP no sangue, graduando em Direito, pai da Lais e esposo da Simone