Nginx/Konfiguration/Rewriting: Unterschied zwischen den Versionen
Erscheinungsbild
K Textersetzung - „wikitable“ durch „table table-striped table-hover“ |
K Textersetzung - „ big"“ durch „"“ |
||
| Zeile 13: | Zeile 13: | ||
:* Dieses Rewriting passiert mit der Flag `last` nur intern | :* Dieses Rewriting passiert mit der Flag `last` nur intern | ||
{| class="table table-striped table-hover options | {| class="table table-striped table-hover options" | ||
! Flag !! Beschreibung | ! Flag !! Beschreibung | ||
|- | |- | ||
Aktuelle Version vom 1. August 2026, 11:12 Uhr
Rewriting
nginx unterstützt URL-Rewriting nativ und kann mithilfe von Regex (Regulärer Ausdruck) Anfragen umschreiben
- So kann etwa eine Domain `example.com/artikel.php?id=123` zu `example.com/artikel/123` vereinfacht werden, ohne dass der Nutzer weitergeleitet werden muss
- Das Rewriting kann im Hintergrund auf Server-Ebene geschehen
Um Rewriting zu aktivieren, fügt man folgendes in seine Konfiguration in einem `server { [...] }`-Block ein:
rewrite ^/artikel/(.*)$ /artikel.php?id=$1? last;
- Der reguläre Ausdruck `^/artikel/(.*)$` bedeutet folgendes
-
- Existiert in der aufgerufenen Domain an irgendeiner Stelle die Zeichenfolge `/artikel/` wird sämtliches hinter dieser an `artikel.php` als GET-Parameter `id` übergeben
- Dieses Rewriting passiert mit der Flag `last` nur intern
| Flag | Beschreibung |
|---|---|
| last/break | Internes Rewriting ohne Weiterleitung |
| redirect | Leitet den Nutzer auf die Seite weiter (HTTP 302 - Temporäre Weiterleitung) |
| permanent | Leitet den Nutzer auf die Seite weiter (HTTP 301 - Dauerhafte Weiterleitung) |
- Warnung
- Ohne eine gesetzte Flag gibt nginx den Fehler HTTP 500 zurück
Weitere Hilfe, Tipps und Tricks findet man im nginx-Wiki