internal-redirect: Redirecionamento interno para um URI especificado
Instalação
Você pode instalar este módulo em qualquer distribuição baseada em RHEL, incluindo, mas não se limitando a:
- RedHat Enterprise Linux 7, 8, 9 e 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 e Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-internal-redirect
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-internal-redirect
Ative o módulo adicionando o seguinte no topo de /etc/nginx/nginx.conf:
load_module modules/ngx_http_internal_redirect_module.so;
Este documento descreve o nginx-module-internal-redirect v1.0.1 lançado em 08 de março de 2026.
server {
listen 127.0.0.1:80;
server_name localhost;
location /old {
internal_redirect -i ^/old(.+) /new$1 phase=preaccess;
}
location /new {
return 200 'current uri is: $uri';
}
}
Diretrizes
internal_redirect
Sintaxe: internal_redirect [-i] padrão substituição [fase=
Padrão: -
Contexto: http, server, location
Define o novo URI para o redirecionamento interno da solicitação. Também é possível usar uma localização nomeada em vez do URI. O valor de substituição pode conter variáveis. Se o valor do uri estiver vazio, o redirecionamento não será realizado. Após um redirecionamento interno, o URI da solicitação será alterado, e a solicitação será retornada para a fase NGX_HTTP_SERVER_REWRITE_PHASE (server_rewrite). A solicitação prossegue com uma localização padrão do servidor. Mais tarde, na fase NGX_HTTP_FIND_CONFIG_PHASE (find_config), uma nova localização é escolhida com base no novo URI da solicitação.
Para mais informações sobre as fases de solicitação do nginx, consulte Development guide#http_phases
O parâmetro opcional -i especifica que uma correspondência de expressão regular sem distinção entre maiúsculas e minúsculas deve ser realizada.
O parâmetro opcional phase= é usado para indicar a fase em que esta regra entra em vigor. Os valores possíveis são preaccess, access, precontent e content. As regras de cada fase serão executadas completamente antes que o redirecionamento interno seja realizado. O valor padrão é preaccess.
O parâmetro opcional flag= é usado para ações adicionais após a avaliação da regra. O valor deste parâmetro pode ser um dos seguintes:
* break
interrompe o processamento do conjunto atual de regras nesta fase e realiza imediatamente um redirecionamento interno;
* status_301
retorna um redirecionamento com o código 301.
* status_302
retorna um redirecionamento com o código 302.
* status_303
retorna um redirecionamento com o código 303.
* status_307
retorna um redirecionamento com o código 307.
* status_308
retorna um redirecionamento com o código 308.
O parâmetro if habilita o redirecionamento condicional. Uma solicitação não será redirecionada se a condição avaliar para “0” ou uma string vazia. Você também pode usar a forma if!= para fazer julgamentos negativos.
GitHub
Você pode encontrar dicas adicionais de configuração e documentação para este módulo no repositório do GitHub para nginx-module-internal-redirect.