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
Docker: "ps: command not found" [Resolvido]
Vim com Tema de Cores do Visual Studio Code
Converter imagens para fundo transparente via linha de comando
Como atualizar o navegador padrão no Debian
Alterando a porta 3000 de um projeto em React ou NodeJS
Leitura recomendada
Como Instalar o rp-pppoe ( PPPoE ) - ADSL
Configurando seu BlackBox
Enlightenment no Fedora 21
BackUp de contas, grupos e senha
[ LinuxTips ] - Descomplicando o GIT - Parte 1
Comentários
Nenhum coment�rio foi encontrado.