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.028 ]

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 mkpasswd

Obtendo a cotação do Bitcoin com SED

Como verificar links quebrados no teu site

Novo portal Linux: Open SCRIPT

Comando watch com saída em cores

Leitura recomendada

Wireshark com usuário comum no Slackware

Configuração da conexão ADSL PPPoE no Linux

Consertando [HOME] e [END] no Aterm

Instalação de driver legado Broadcom BCM4311 HP Compac

Um manual mais da hora

  

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