Zum Inhalt springen

Nginx/Konfiguration/Rewriting

Aus Foxwiki
Version vom 27. Oktober 2025, 19:28 Uhr von Dirkwagner (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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