Einrichten von Weiterleitungen mit Nginx auf einem VPS

Wenn Sie eine Website oder eine Anwendung auf Ihrem VPS verwalten, sind Weiterleitungen unerlässlich, um zu kontrollieren, wie der Verkehr zwischen URLs fließt. Egal, ob Sie zu HTTPS wechseln, eine alte Domain umleiten oder defekte Links bereinigen, Nginx macht es einfach und effizient, Weiterleitungen auf Webserverebene zu verwalten.

In diesem Leitfaden wird beschrieben, wie man verschiedene Arten von Weiterleitungen in Nginx konfiguriert, einschließlich:

  • Permanente Weiterleitungen (301)

  • Temporäre Weiterleitungen (302)

  • HTTP zu HTTPS

  • Nicht-wwww zu www (und umgekehrt)

  • Pfad-spezifische Rewrites

Voraussetzungen

  • Ein VPS mit installiertem Nginx

  • Root- oder sudo-Zugang

  • Die Konfigurationsdatei Ihrer Website (normalerweise in /etc/nginx/sites-available/ oder /etc/nginx/conf.d/)

1. Permanente Umleitung (301)

Verwenden Sie dies, wenn sich eine URL oder Domäne dauerhaft geändert hat.

✅ Beispiel: Umleitung von der alten Domäne zur neuen Domäne

server {
listen 80;
server_name olddomain.com www.olddomain.com;
return 301 https://newdomain.com$request_uri;
}

🔐 Tipp: Leiten Sie, wenn möglich, immer auf HTTPS um.

2. Vorübergehende Umleitung (302)

Verwenden Sie dies für eine vorübergehende Umleitung (z. B. während Wartungsarbeiten).

server {
listen 80;
server_name olddomain.com www.olddomain.com;
return 301 https://newdomain.com$request_uri;
}

3. HTTP auf HTTPS umleiten

Dies ist aus SEO- und Sicherheitsgründen sehr empfehlenswert.

server {
listen 80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}

Konfigurieren Sie dann Ihren HTTPS-Server-Block separat:

server {
listen 443 ssl;
server_name example.com;
# SSL config here
}

4. Umleitung von www auf nicht-wwww (oder umgekehrt)

Wählen Sie eine bevorzugte Version für Konsistenz und SEO.

Von www zu nicht-wwww:

server {
listen 80;
server_name www.example.com;
return 301 $scheme://example.com$request_uri;
}

Oder von nicht-wwww zu www:

server {
listen 80;
server_name example.com;
return 301 $scheme://www.example.com$request_uri;
}

5. Einen bestimmten Pfad umleiten

Beispiel: Umleitung von /blog nach /articles:

location = /blog {
return 301 /articles;
}

Oder mit vollständiger URL:

location = /blog {
return 301 https://example.com/articles;
}

Wo diese Direktiven zu platzieren sind

Alle oben genannten Direktiven sollten in den entsprechenden Serverblock in der Konfigurationsdatei Ihrer Website eingefügt werden:

/etc/nginx/sites-available/example.com

Dann erstellen Sie bei Bedarf einen Symlink zu sites-enabled:

ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Nach dem Aktualisieren der Konfigurationen

Testen Sie immer Ihre Nginx-Konfiguration, bevor Sie sie neu laden:

sudo nginx -t

Wenn es keine Fehler gibt:

sudo systemctl reload nginx

Bonus: Alle 404-Fehler auf die Startseite umleiten

fehler_seite 404 =301 /;

Platzieren Sie dies innerhalb Ihres Serverblocks, um defekte Links korrekt zu behandeln.

Nginx ist nicht nur ein hochleistungsfähiger Webserver, sondern auch ein leistungsstarkes Tool zur Steuerung des Datenverkehrs und der Benutzererfahrung durch intelligente Weiterleitungen. Mit nur wenigen Konfigurationszeilen können Sie HTTPS erzwingen, Benutzer zu den richtigen URLs leiten und Ihre Website sowohl für SEO als auch für Sicherheit optimieren.