Nginx/Konfiguration/Rewriting: Unterschied zwischen den Versionen
Erscheinungsbild
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
| Zeile 28: | Zeile 28: | ||
Weitere Hilfe, Tipps und Tricks findet man im [https://wiki.nginx.org/HttpRewriteModule nginx-Wiki] | Weitere Hilfe, Tipps und Tricks findet man im [https://wiki.nginx.org/HttpRewriteModule nginx-Wiki] | ||
[[Kategorie:Nginx/Konfiguration]] | |||
[[Kategorie:Nginx]] | |||
Aktuelle Version vom 27. Oktober 2025, 19:28 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