Wie richtet man eine Nginx-Weiterleitung auf eine andere URL ein? (Nginx-URL-Redirect)
Die HTTP-Weiterleitung bzw. Nginx-Weiterleitung (Redirect) ist eine Technik, mit der Benutzer und Browser von einer Webadresse an eine andere geschickt werden. Sie wird häufig eingesetzt, wenn sich die Struktur oder die Domain einer Website ändert. Es gibt mehrere Arten von Weiterleitungen, und jede teilt dem Browser etwas anderes über die Änderung mit.
Die beiden am häufigsten verwendeten Arten sind: Temporäre Weiterleitungen (HTTP-Statuscode 302): Sie eignen sich ideal für Situationen, in denen Inhalte vorübergehend verschoben werden. So können Sie Benutzer beispielsweise während Wartungsarbeiten auf eine temporäre Seite weiterleiten, die die Ausfallzeit erklärt.
Permanente Weiterleitungen (HTTP-Statuscode 301):
Sie teilen Browsern und Suchmaschinen mit, dass eine Seite dauerhaft verschoben wurde. Dies wird in der Regel beim Wechsel auf eine neue Domain oder bei einer dauerhaften Umstrukturierung einer Website verwendet. In dieser Anleitung erfahren Sie, wie Sie beide Arten von Weiterleitungen mit NGINX konfigurieren, und finden praktische Beispiele für typische Weiterleitungsszenarien.
Voraussetzungen
Bevor Sie mit dieser Anleitung beginnen, stellen Sie sicher, dass Folgendes vorhanden ist:
- Ein Server, auf dem NGINX installiert und für das Hosting Ihrer Website(s) korrekt konfiguriert ist.
- Wenn Sie Hilfe bei der Einrichtung benötigen, können Sie die Installationsanleitungen für Betriebssysteme wie Ubuntu 22.04, Debian oder CentOS heranziehen.
Was ist eine Nginx-Weiterleitung?
In NGINX ist eine Weiterleitung eine serverseitige Funktion, mit der eingehende Anfragen von einer URL an eine andere geschickt werden. Weiterleitungen spielen eine entscheidende Rolle, wenn die Seitenstruktur aktualisiert, die Domain gewechselt oder ein einheitliches URL-Format durchgesetzt wird. NGINX unterstützt verschiedene Arten von Weiterleitungen, am häufigsten werden permanente (301) und temporäre (302) Weiterleitungen verwendet.
Weiterleitungen können im NGINX-Serverblock (auch als Virtual-Host- oder vhost-Datei bezeichnet) konfiguriert werden. Typische Anwendungsfälle sind:
- Weiterleitung von HTTP-Traffic auf HTTPS für sichere Verbindungen
- Erzwingen der URL-Variante mit oder ohne www
- Einrichten von Regeln für temporäre oder permanente Weiterleitungen anhand von URL-Mustern
So können Sie den Traffic auf Ihrer Website steuern und Sicherheit, SEO und Benutzererfahrung verbessern.
Wie leitet Nginx auf eine andere URL weiter?
NGINX macht es einfach, Weiterleitungen mit der integrierten rewrite-Direktive zu erstellen, die standardmäßig verfügbar ist. Damit können Sie sowohl temporäre als auch permanente Weiterleitungen definieren, indem Sie ein Suchmuster und die neue Ziel-URL angeben.
Beispiel 1: Temporäre Weiterleitung einer bestimmten Seite
Der folgende Serverblock leitet Anfragen für /old-page auf example-site.com auf /maintenance.html auf derselben Domain weiter:
server {
listen 80;
server_name example-site.com;
location /old-page {
rewrite ^/old-page$ /maintenance.html redirect;
}
}
Damit wird eine temporäre Weiterleitung (302) eingerichtet, die nützlich ist, wenn eine Seite für kurze Zeit nicht verfügbar ist, etwa während Wartungsarbeiten.
Beispiel 2: Temporäre Weiterleitung des gesamten Traffics auf eine andere Domain
So leiten Sie den gesamten Traffic von blog.example.com auf archive.example.net weiter und behalten dabei den Anfragepfad bei:
server {
listen 80;
server_name blog.example.com;
rewrite ^/(.*)$ https://archive.example.net/$1 redirect;
}
Damit wird jede Anfrage mit demselben Pfad an die neue Domain geschickt, allerdings als temporäre Weiterleitung.
Beispiel 3: Permanente Weiterleitung von HTTP auf HTTPS
Erzwingen Sie mit einer 301-Weiterleitung, dass der gesamte HTTP-Traffic HTTPS verwendet:
server {
listen 80;
server_name mysite.org;
return 301 https://$host$request_uri;
}
Dies ist eine bewährte Methode zur Verbesserung von Sicherheit und SEO.
Beispiel 4: Permanente Weiterleitung von Non-WWW auf WWW
Wenn Sie den gesamten Traffic von example.org dauerhaft auf www.example.org weiterleiten möchten:
server {
listen 80;
server_name example.org;
return 301 http://www.example.org$request_uri;
}
So wird sichergestellt, dass Benutzer und Suchmaschinen stets die bevorzugte Domain aufrufen.
Weiterleitung auf eine neue Domain
Wenn Sie Ihre Website auf eine neue Domain umziehen, sollten Sie die alte Domain nicht inaktiv lassen. Ohne Weiterleitung führen Lesezeichen, externe Links und indexierte Seiten zu fehlerhaften URLs, was Sie Traffic kosten und Ihrem SEO schaden kann.
In diesem Abschnitt zeigen wir, wie Sie den Traffic mit NGINX dauerhaft von Ihrer alten Domain (z. B. domain1.com) auf Ihre neue Domain (domain2.com) weiterleiten. Da der Umzug dauerhaft ist, verwenden wir eine 301-Weiterleitung, damit Suchmaschinen und Browser die neue Domain künftig als offizielles Ziel behandeln.
Wir gehen davon aus, dass Sie in NGINX bereits zwei Serverblöcke konfiguriert haben:
Alte Domain: /etc/nginx/sites-available/domain1.com
server {
listen 80;
server_name domain1.com;
# Existing configuration
}
Neue Domain: /etc/nginx/sites-available/domain2.com
server {
listen 80;
server_name domain2.com;
# New site setup
}
Weiterleitung anwenden
Nun müssen Sie die Konfiguration der alten Domain so anpassen, dass der gesamte Traffic per permanenter Weiterleitung an die neue Domain geschickt wird:
server {
listen 80;
server_name domain1.com;
rewrite ^/(.*)$ https://domain2.com/$1 permanent;
}
In dieser Konfiguration gilt:
- Der reguläre Ausdruck ^/(.*)$ erfasst alles nach dem führenden Schrägstrich (/) in der eingehenden URL.
- Das $1 in der Ziel-URL fügt diesen erfassten Pfad in die Weiterleitung ein.
- Das Schlüsselwort permanent am Ende der rewrite-Anweisung weist NGINX an, den HTTP-Statuscode 301 zu senden, den Browser und Suchmaschinen als dauerhaften Umzug interpretieren.
Beispielsweise wird eine Anfrage an http://domain1.com/contact.html automatisch auf https://domain2.com/contact.html weitergeleitet.
Nginx-Konfiguration neu laden
Nachdem Sie diese Änderung vorgenommen haben, sollten Sie Ihre NGINX-Konfiguration prüfen und neu laden:
$ sudo nginx -t
$ sudo systemctl reload nginx
So stellen Sie sicher, dass Ihre neue Weiterleitungsregel aktiv ist und alle Besucher (und Suchmaschinen) korrekt auf die neue Domain geleitet werden.
Fazit
Sie wissen nun, wie Sie Weiterleitungen in NGINX einrichten. Es ist wichtig, den richtigen Typ (permanent oder temporär) zu wählen, da der falsche die Suchmaschinenoptimierung beeinträchtigen kann.
Nginx-Weiterleitungen sind auch nützlich, um HTTPS durchzusetzen und URLs zu vereinheitlichen (etwa durch Hinzufügen von www.). Richtig eingesetzt, helfen sie, den Traffic Ihrer Website zu erhalten, und geben Ihnen gleichzeitig die Flexibilität, ihre Struktur zu ändern.
Weiterführende Informationen finden Sie in der offiziellen NGINX-Dokumentation, insbesondere in den Abschnitten zum rewrite-Modul und in den Anleitungen zu Weiterleitungen.
BlueVPS bietet leistungsstarke VPS-Server mit vollem RDP-Root-Zugriff, der Ihnen die vollständige administrative Kontrolle gibt, wenn Sie sich für einen Windows-basierten Server entscheiden. Unsere VPS-Lösungen sind mit leistungsstarken Enterprise-SSDs ausgestattet, die für schnellen und zuverlässigen Speicher sorgen.
Mit BlueVPS ist Skalierung einfach: Sie können Ihre Serverressourcen bei wachsendem Bedarf schnell und mit minimaler Ausfallzeit aufstocken. Erleben Sie flexibles und robustes VPS-Hosting, das auf Ihre Anforderungen zugeschnitten ist.
Entdecken Sie zuverlässiges und skalierbares VPS-Hosting mit vollem Root-Zugriff bei BlueVPS.
Blog