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

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

Lançamento do TupiServer Linux 1.0

Guia de Certificação Linux

Uma maneira fácil de fazer a cópia diretórios

Como aumentar a potência do roteador wireless

Flashback: Como o Google via a internet em 2001

Leitura recomendada

GRUB 2 - Alterando ordem de boot

Fedora Core 5 rodando XGL (desktop 3D)

Iniciar aplicativos automaticamente no Fluxbox

Iniciando o Compiz GTK ou Emerald automaticamente no Fedora Spin (MATE + Compiz)

Atualizar Arch Linux só no 3G

  

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