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
Habilite 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';
}
}
Diretivas
internal_redirect
Sintaxe: internal_redirect [-i] pattern replacement [phase=
Padrão: -
Contexto: http, server, location
Define o novo URI para redirecionamento interno da requisição. Também é possível usar um location nomeado 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á feito. Após ocorrer um redirecionamento interno, o URI da requisição será alterado, e a requisição retornará para a fase NGX_HTTP_SERVER_REWRITE_PHASE (server_rewrite). A requisição prossegue com um location padrão do servidor. Posteriormente, em NGX_HTTP_FIND_CONFIG_PHASE (find_config), um novo location é escolhido com base no novo URI da requisição.
Para mais informações sobre as fases de requisiçã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 na qual 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 avaliar a 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 requisição não será redirecionada se a condição for avaliada como "0" ou uma string vazia. Você também pode usar a forma if!= para fazer julgamentos negativos.