Nginx - Redirecionando www para apenas o nome do domínio ou vice-versa

Publicado por Fábio Berbert de Paula em 01/07/2020

[ Hits: 2.411 ]

Blog: https://fabio.automatizando.dev

 


Nginx - Redirecionando www para apenas o nome do domínio ou vice-versa



Por questões de padronização, é comum você querer que seu domínio responda por apenas um subdomínio. Por exemplo, se alguém digitar:

www.meudominio.com

Redirecionar para:

meudominio.com

Ou vice-versa.

Também há a possibilidade de alguém tentar acessar uma página interna:

www.meudominio.com/contato

Então você precisa não só redirecionar o domínio, mas toda a requisição:

meudominio.com/contato

Para isso utilizaremos condicionais combinadas com o rewrite.

Edite o arquivo de configuração do Nginx e dentro da configuração de virtualhost do seu domínio, adicione as seguintes linhas:

if ( $host ~* "^www\." ) {
        rewrite ^(.*)$ $scheme://meudominio.com/${uri} permanent;
}

Onde:
  • host ~* "^www\." :: se o $host (nome de domínio) começar com "www.";
  • rewrite ^(.*)$ :: reescreva toda a requisição ( ^ é início e $ é fim da string completa );
  • scheme :: protocolo utilizado, por exemplo http, https etc;
  • {uri} :: tudo o que vem depois do nome do domínio, como "/contato" por exemplo;
  • permanent :: equivale ao HTTP 301, mover permanentemente.

Se quiser fazer o inverso, que seria redirecionar "meudominio.com" para "www.meudominio.com", a configuração ficaria assim:

if ( $host ~* "^meudominio.com" ) {
        rewrite ^(.*)$ $scheme://www.meudominio.com/${uri} permanent;
}

Reinicie o Nginx e seja feliz!

O VOL faz isso, redireciona "vivaolinux.com.br" para "www.vivaolinux.com.br". Podemos conferir usando o CURL:

curl -I https://vivaolinux.com.br/forum
HTTP/2 301
cache-control: max-age=0, must-revalidate, no-cache, no-store
content-type: text/html
date: Tue, 30 Jun 2020 02:40:53 GMT
display: staticcontent_sol
expires: Mon, 29 Jun 2020 02:40:53 GMT
location: https://www.vivaolinux.com.br/forum
pagespeed: off
response: 301
server: nginx/1.16.0
vary: Accept-Encoding
vary: Origin,Accept-Encoding,X-APP-JSON
x-ezoic-cdn: Miss
x-middleton-display: staticcontent_sol
x-middleton-response: 301
x-sol: pub_site


Até a próxima!

Outras dicas deste autor

O comando tree - listar diretórios em formato árvore

Configurando temas no Bashtop

Criando um programa CGI com Perl

Configurando adaptador USB WIFI Realtek RTL190CT no Debian

Como evitar execução de backdoors em diretórios de upload do teu site

Leitura recomendada

Problemas com cedilha no Linux Ubuntu/Kubuntu

Configurando um drive de CD-RW com interface IDE

Montando e desmontando disquete automaticamente no Debian

Como instalar o GRUB na MBR usando o Fedora Core

Bibliotecas necessárias para compilação do SARG

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts