Como redirecionar URLs usando NGINX? (Temporário permanente)

Publicados: 2024-01-26

Índice
O que é redirecionamento?
Qual é a necessidade do redirecionamento Nginx?
Métodos comuns de redirecionamento Nginx (temporário e permanente)
Como redirecionar URLs usando Nginx (temporário e permanente)
Verifique a sintaxe do Nginx
Reinicie o servidor Nginx
Resumo
perguntas frequentes

O que é redirecionamento?

Em relação ao Nginx, o redirecionamento é uma função do servidor web na qual o tráfego do site é movido de uma URL para outra. É um dos recursos mais úteis por meio do qual você pode redirecionar facilmente os visitantes para outro local automaticamente.

Embora existam vários tipos de redirecionamentos que você pode fazer, os dois mais importantes e comumente usados ​​são o redirecionamento permanente (301) e o temporário (302).

Nesta postagem, mostraremos métodos de redirecionamento com exemplos como, de www para não www, redirecionamento Nginx para um domínio, redirecionamento Nginx de HTTP para HTTPS, etc.


Leia: Como funciona o URL de redirecionamento do WordPress? 5 melhores métodos


Qual é a necessidade do redirecionamento Nginx?

  • O Nginx fornece um dos recursos cruciais, ou seja, o redirecionamento de URLs de sites para outro endereço com base em critérios.
  • Os redirecionamentos Nginx são muito fáceis de usar e fáceis de configurar, por isso são muito flexíveis para gerenciar URLs de sites.
  • É muito útil para preservar a classificação SEO de uma página, especialmente se você estiver migrando de um CMS para outro.
  • O recurso de redirecionamento também ajuda a manter a posição SERP, apesar das mudanças na estrutura do URL.

Métodos comuns de redirecionamento Nginx (temporário e permanente)

Como já mencionamos, existem vários tipos de métodos de redirecionamento disponíveis, mas na prática, existem apenas dois comumente usados, ou seja, redirecionamento temporário e permanente.

Redirecionamento temporário (código de resposta: 302 encontrado)

  • Pelo próprio nome, você pode antecipar o que a medicação temporária fará. Bem, este método serve para alterar temporariamente a localização de uma página de um lugar para outro.
  • O código de resposta: 302 Found é empregado para mostrar o encaminhamento temporário de uma página durante esses redirecionamentos.
  • É usado principalmente durante a manutenção do site; o redirecionamento temporário informa o tráfego ou usuários sobre a indisponibilidade temporária do site.
  • Também pode ser usado para redirecionar uma página incompleta para outro ponto ou página inicial.
  • Cenário de exemplo: O visitante navega até a página do site, mas devido à manutenção, é redirecionado para uma notificação indicando que o site está em manutenção.
Temporary Redirection
Redirecionamento temporário (código de resposta: 302 encontrado)

Redirecionamento permanente (código de resposta: 301 encontrado)

  • O Redirecionamento Permanente Nginx é usado para realocar permanentemente um domínio de página.
  • Um redirecionamento 301 é empregado para designar o movimento permanente de uma página neste contexto.
  • Esse redirecionamento é usado principalmente quando um usuário deseja alterar um nome de domínio e não deseja mais que o tráfego do site acesse o local antigo.
Permanent Redirection
Redirecionamento permanente (código de resposta: 301 encontrado)

Como redirecionar URLs usando Nginx (temporário e permanente)

Antes de começarmos, primeiro você precisa ter certeza de que o NGINX está instalado em seu VPS ou servidor virtual privado. Depois disso acesse seu VPS via SSH. No Wpoven você pode acessar facilmente seu site via console de linha de comando SSH.


Leia: Posso acessar meu site WPOven via SSH


Configuração Configuração do NGINX

  • Localização do arquivo de configuração NGINX: A configuração do NGINX normalmente é armazenada em um arquivo .conf, que é um arquivo de texto simples contendo diretivas e configurações para o servidor.
  • Local padrão: O local padrão para arquivos de configuração NGINX geralmente está no diretório raiz do documento do(s) seu(s) site(s). Neste caso, menciona o caminho: /etc/nginx/sites-available/directory_name.conf .
  • Diretório raiz do documento: Este diretório é onde os arquivos do seu site são armazenados. A raiz do documento pode variar; para um servidor de site único, pode estar no diretório /html . Se o seu servidor hospedar vários sites, a raiz do documento poderá estar em um diretório de domínio específico, como /domain.com .
  • Nomenclatura do arquivo de configuração: O nome do seu arquivo .conf corresponde ao seu site. Por exemplo, se o seu site estiver no diretório /html , o arquivo .conf poderá ser denominado html.conf . Se estiver em um diretório como /domain.com , o arquivo .conf poderá ser denominado domain.com.conf .
  • Arquivo de configuração padrão: dentro de /etc/nginx/sites-available/directory , geralmente há um arquivo padrão que você pode usar como modelo. Este arquivo pode conter configurações básicas que você pode copiar ou modificar para atender às suas necessidades.
  • Criando um novo arquivo de configuração: Alternativamente, você tem a opção de criar um novo arquivo .conf. Por exemplo, você pode criar um arquivo chamado html.conf ou domain.com.conf com base na estrutura e nas convenções de nomenclatura do seu site.

Você pode se surpreender ao saber que, no Nginx, existe uma ferramenta embutida disponível chamada diretiva “rewrite”. É uma ferramenta muito útil que facilita o redirecionamento. A melhor parte é que não há nada de especial que você precise fazer sobre isso, ele está presente automaticamente sempre que você instala um Nginx novo.

Esta diretiva de “reescrita” não se destina apenas a fazer redirecionamentos básicos, mas é bastante versátil. ou seja, você poderá criar dois tipos de redirecionamentos, permanentes e temporários.

Tudo que você precisa fazer é passar apenas dois argumentos, o URL antigo e o Novo URL. Abaixo estão alguns exemplos para sua referência. Basta inserir as seguintes linhas na configuração do seu servidor.

Primeiro, abra o arquivo de configuração digitando o seguinte comando no terminal.

$ sudo vi /etc/nginx/nginx.conf

depois disso, use os seguintes comandos abaixo, conforme sua necessidade.

1. Redirecionamento Nginx de página para página

Redirecionamento temporário de página para página Nginx

server {
# Temporary redirect to an individual page
rewrite ^/oldpage$ http://www.example.com/newpage redirect;
}

Redirecionamento permanente de página para página Nginx

server {
# Permanent redirect to an individual page
rewrite ^/oldpage$ http://www.example.com/newpage permanent;
}

A partir dos comandos acima, você notou que se quiser criar um redirecionamento permanente, tudo o que você precisa fazer é substituir “redirecionar” por “permanente” no final da diretiva.

2. Redirecionamento WWW para Nginx não www

Redirecionamento www permanente para não www:

server {
# Permanent redirect to non-www
server_name www.example.com;
rewrite ^/(.*)$ http://example.com/$1 permanent;
}


Nota : Caso você queira redirecionar de não www para www, basta substituir os URLs do site mencionados no comando acima. ou seja, substitua www.example.com por example.com e vice-versa.


3. Como redirecionar a URL de HTTP para HTTPS no Nginx?

Antes de fazer esse redirecionamento, não esqueça de instalar o certificado SSL. Redirecionar para HTTPS tem seus benefícios. Ajuda a proteger o seu site de todos os ataques MIMT, roubo de dados, etc. E até mesmo suas portas são diferentes, por exemplo, HTTP usa a porta 80, enquanto o HTTPS usa 443.

Portanto, para proteger todo o compartilhamento de informações confidenciais entre você e seu visitante, você precisa dos seguintes comandos:

server {
listen 80;
server_name www.domain.tld;
return 301 https://www.domain.tld$request_uri;
}

4. URL de redirecionamento Nginx para outro URL

Se você deseja redirecionar permanentemente, ou seja, redirecionar nginx para outro URL 301, use o seguinte comando:

Para um novo domínio de um domínio mais antigo,

server {
listen 80;
listen 443 ssl;
server_name olddomain.com www.olddomain.com;
return 301 $scheme://www.newdomain.com$request_uri;
}

OU

server {
# Permanent redirect to new URL
listen 443 ssl;
# Add this line to listen on the HTTPS port and enable SSL server_name olddomain.com;
ssl_certificate /path/to/your/ssl_certificate.crt; # Update with the actual path to your SSL certificate
ssl_certificate_key /path/to/your/ssl_certificate_key.key; # Update with the actual path to your SSL certificate key
# Additional SSL settings can be configured here
rewrite ^/(.*)$ https://newdomain.com/$1 permanent;
# Update to use 'https' protocol
}

  • Configuramos um redirecionamento para nosso site usando uma ferramenta chamada diretiva “rewrite” no Nginx.
  • O ^/(.*)$ é uma expressão regular que usará tudo após a última barra ( / ) na URL.
  • Por exemplo, se alguém tentar acessar http://olddomain.com/index.html , usará a parte index.html .
  • Portanto, se você fosse http://olddomain.com/index.html , ele o redirecionaria facilmente para http://newdomain.com/index.html .
  • A ideia é redirecionar perfeitamente os usuários para o mesmo conteúdo no novo domínio.
  • Para garantir que esse redirecionamento seja permanente, adicionamos uma palavra-chave especial, “Permanente” após a diretiva rewrite .
  • Isso informa aos navegadores e aos mecanismos de pesquisa que esta é uma mudança permanente, usando o que é chamado de código de status HTTP 301.

5. Nginx redireciona para outro domínio sem alterar o URL

Suponha que você queira redirecionar o domínio olddomain.com para newdomain.com sem alterar o URL. Isso significa que quando você digita olddomain.com, ele deve redirecionar para newdomain.com, mas o URL ainda deve exibir olddomain.com.

Aqui está como você pode abordar,

server {
listen 80;
server_name olddomain.com;

location / {
proxy_pass http://newdomain.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
}

6. Redirecionamento Nginx de site específico

server {
listen 80;
server_name example.com;
return 301 http://newexample.com$request_uri;
}


Verifique a sintaxe do Nginx

Para verificar se toda a sintaxe nginx está correta, use o seguinte comando:

nginx -t

Se a saída estiver vazia, significa que a sintaxe está correta e você precisa reiniciar o servidor Nginx para que essas modificações tenham efeito.


Reinicie o servidor Nginx

Não se esqueça de reiniciar seu servidor Nginx para tornar essas regras efetivas usando o comando:

sudo systemctl restart Nginx


Resumo

Como já mencionado acima, o Nginx acabou sendo o servidor web mais poderoso e fácil de usar que permite fazer redirecionamentos Nginx permanentes e temporários com facilidade.

Depois de ler este blog, agora você sabe como criar URLs de redirecionamento usando NGINX. Seja para redirecionar o nginx de HTTP para HTTPS, de um domínio para outro domínio, etc.

Além disso, você aprendeu como os redirecionamentos afetam suas classificações de SEO, portanto, certifique-se sempre de usar o tipo de redirecionamento correto.

Com esse recurso útil, você pode alterar facilmente a estrutura do seu site de acordo com as tendências e requisitos e evitar o medo de tráfego e perda de classificações SERP.

WPOven oferece opções de hospedagem gerenciada por WordPress para seu próximo projeto NGINX. Entre em contato conosco para discutir as melhores opções para você.

Se você tiver alguma dúvida ou sugestão, informe-nos na seção de comentários abaixo:


perguntas frequentes

Como redirecionar uma URL no nginx?

No Nginx, existe uma ferramenta embutida disponível chamada diretiva “rewrite”. É uma ferramenta muito útil que facilita o redirecionamento. A melhor parte é que não há nada de especial que você precise fazer sobre isso, ele está presente automaticamente sempre que você instala um Nginx novo.

Qual é o código de redirecionamento para Nginx?

O nginx é bastante versátil e oferece dois tipos de redirecionamentos, o permanente cujo código de resposta é 301, e o código de resposta de redução temporária é 302.

Para que é usado o NGINX?

Nginx é um servidor web versátil e de alto desempenho e um servidor proxy reverso. É comumente usado para os seguintes propósitos: Servidor Web , Servidor Proxy Reverso , Balanceador de Carga , Terminação SSL/TLS , Cache , Rede de Entrega de Conteúdo (CDN) , API Gateway , Suporte WebSocket , Segurança e Arquitetura de Alta Disponibilidade