internal-redirect: Interner Redirect zu einer angegebenen URI
Installation
Sie können dieses Modul in jeder RHEL-basierten Distribution installieren, einschließlich, aber nicht beschränkt auf:
- RedHat Enterprise Linux 7, 8, 9 und 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 und 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
Aktivieren Sie das Modul, indem Sie Folgendes an den Anfang von /etc/nginx/nginx.conf hinzufügen:
load_module modules/ngx_http_internal_redirect_module.so;
Dieses Dokument beschreibt nginx-module-internal-redirect v1.0.1 veröffentlicht am 08. März 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';
}
}
Direktiven
internal_redirect
Syntax: internal_redirect [-i] pattern replacement [phase=
Standard: -
Kontext: http, server, location
Setzt die neue URI für die interne Umleitung der Anfrage. Es ist auch möglich, anstelle der URI einen benannten Standort zu verwenden. Der Ersetzungswert kann Variablen enthalten. Wenn der uri-Wert leer ist, wird die Umleitung nicht durchgeführt. Nach einer internen Umleitung wird die Anfrage-URI geändert, und die Anfrage wird in die NGX_HTTP_SERVER_REWRITE_PHASE (server_rewrite) Phase zurückgegeben. Die Anfrage wird mit einem Standardstandort des Servers fortgesetzt. Später wird in der NGX_HTTP_FIND_CONFIG_PHASE (find_config) ein neuer Standort basierend auf der neuen Anfrage-URI ausgewählt.
Für weitere Informationen zu den Anfragephasen von nginx verweisen wir auf Entwicklungsleitfaden#http_phases
Der optionale -i Parameter gibt an, dass ein fallunempfindlicher regulärer Ausdruck abgeglichen werden soll.
Der optionale phase= Parameter wird verwendet, um die Phase anzugeben, in der diese Regel wirksam wird. Die möglichen Werte sind preaccess, access, precontent und content. Die Regeln jeder Phase werden vollständig ausgeführt, bevor die interne Umleitung durchgeführt wird. Der Standardwert ist preaccess.
Der optionale flag= Parameter wird für zusätzliche Aktionen nach der Auswertung der Regel verwendet. Der Wert dieses Parameters kann einer der folgenden sein:
* break
stoppt die Verarbeitung der aktuellen Regelmenge in dieser Phase und führt sofort eine interne Umleitung durch;
* status_301
gibt eine Umleitung mit dem 301-Code zurück.
* status_302
gibt eine Umleitung mit dem 302-Code zurück.
* status_303
gibt eine Umleitung mit dem 303-Code zurück.
* status_307
gibt eine Umleitung mit dem 307-Code zurück.
* status_308
gibt eine Umleitung mit dem 308-Code zurück.
Der if Parameter ermöglicht eine bedingte Umleitung. Eine Anfrage wird nicht umgeleitet, wenn die Bedingung auf „0“ oder eine leere Zeichenfolge ausgewertet wird. Sie können auch die Form if!= verwenden, um negative Urteile zu fällen.
GitHub
Sie finden möglicherweise zusätzliche Konfigurationstipps und Dokumentationen für dieses Modul im GitHub Repository für nginx-module-internal-redirect.