Wie man www zu Non-www mit Nginx umleitet

Veröffentlicht 27. August 2024

Konfiguration von Nginx für die Umleitung von www zu non-www

Websitebetreiber verwenden oft eine einzige Version ihrer Domain, um die SEO und Nutzererfahrung zu verbessern. Die Umleitung der www-Version einer Domain zur non-www-Version (oder umgekehrt) ist üblich. Für Nginx-Benutzer erfordert die Einrichtung dieser Umleitung eine spezielle Konfiguration. Dieser Artikel erklärt, wie man www zu non-www mit Nginx umleitet und hilft Ihnen dabei, eine einheitliche Domainstruktur für Ihre Website beizubehalten.

Einrichtung von Nginx für die www zu Non-www Umleitung

Erstellung eines Server-Blocks für die Umleitung

Um einen Server-Block für die www zu non-www Umleitung einzurichten:

  1. Erstellen Sie eine neue Konfigurationsdatei:

    sudo nano /etc/nginx/sites-available/example.com
  2. Fügen Sie diesen Server-Block hinzu:

    server {
       listen 80;
       server_name www.example.com example.com;
    
       # Weitere Server-Konfigurationen hier
    }
  3. Verwenden Sie die server_name-Direktive, um sowohl die www- als auch die non-www-Version Ihrer Domain anzugeben.

  4. Speichern Sie die Datei und verlassen Sie den Texteditor.

  5. Erstellen Sie einen symbolischen Link, um die Seite zu aktivieren:

    sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
  6. Entfernen Sie die Standard-Nginx-Konfiguration:

    sudo rm /etc/nginx/sites-enabled/default

Diese Einrichtung bildet die Grundlage für die Implementierung der www zu non-www Umleitung in Nginx.

Implementierung der 301-Weiterleitung in Nginx

Schreiben der Umleitungsregel

Um www zu non-www mit Nginx umzuleiten, verwenden Sie die return-Direktive mit einem 301-Statuscode. Dies zeigt eine dauerhafte Umleitung an. Fügen Sie diese Regel zu Ihrem Server-Block hinzu:

server {
    listen 80;
    server_name www.example.com example.com;
    if ($host = www.example.com) {
        return 301 $scheme://example.com$request_uri;
    }
    # Weitere Server-Block-Konfigurationen
}

Diese Regel prüft, ob der angeforderte Host die www-Version Ihrer Domain ist. Wenn ja, wird auf die non-www-Version umgeleitet, wobei das ursprüngliche Schema (http oder https) und alle URL-Parameter beibehalten werden.

Testen der Nginx-Konfiguration

Nachdem Sie die Umleitungsregel geschrieben haben, testen Sie Ihre Nginx-Konfiguration auf Fehler:

  1. Führen Sie diesen Befehl aus:

    sudo nginx -t
  2. Wenn keine Fehler vorliegen, sehen Sie eine Meldung, die anzeigt, dass der Konfigurationstest erfolgreich war.

  3. Bei Fehlern überprüfen Sie Ihre Konfigurationsdatei und beheben Sie etwaige Probleme.

Sobald der Konfigurationstest erfolgreich ist, laden Sie Nginx neu, um die Änderungen anzuwenden:

sudo systemctl reload nginx

Dieser Befehl lädt Nginx neu, ohne aktive Verbindungen zu unterbrechen. Ihre www zu non-www Umleitung sollte jetzt funktionieren. Testen Sie es, indem Sie Ihre www-Domain in einem Webbrowser aufrufen, um zu bestätigen, dass sie zur non-www-Version umgeleitet wird.

Zusätzliche Überlegungen zur Umleitung

Umgang mit HTTPS-Verbindungen

Um HTTPS-Verbindungen zu handhaben, richten Sie SSL-Zertifikate ein und aktualisieren Sie Ihren Nginx-Server-Block:

  1. Besorgen Sie ein SSL-Zertifikat für Ihre Domain.

  2. Installieren Sie das SSL-Zertifikat auf Ihrem Server.

  3. Aktualisieren Sie Ihren Nginx-Server-Block zur Unterstützung von HTTPS:

server {
    listen 80;
    listen 443 ssl;
    server_name www.example.com example.com;

    ssl_certificate /pfad/zu/ihrem/zertifikat.crt;
    ssl_certificate_key /pfad/zu/ihrem/zertifikat.key;

    if ($host = www.example.com) {
        return 301 https://example.com$request_uri;
    }

    if ($scheme != "https") {
        return 301 https://$host$request_uri;
    }

    # Weitere SSL- und Server-Konfigurationen
}

Diese Konfiguration leitet HTTP- und HTTPS-Verkehr von www zu non-www um und verwendet HTTPS für alle Verbindungen.

DNS-Konfiguration für www- und Non-www-Domains

So richten Sie DNS für www- und non-www-Domains ein:

  1. Erstellen Sie einen A-Eintrag für Ihre non-www-Domain (example.com), der auf die IP-Adresse Ihres Servers zeigt.

  2. Richten Sie einen CNAME-Eintrag für die www-Subdomain (www.example.com) ein, der auf Ihre non-www-Domain verweist.

Beispiel für DNS-Einträge:

example.com.     A     123.45.67.89
www.example.com. CNAME example.com.

Nach DNS-Änderungen geben Sie Zeit für die Verbreitung. Dies kann bis zu 48 Stunden dauern, erfolgt aber oft innerhalb weniger Stunden. Verwenden Sie Online-DNS-Lookup-Tools, um den Verbreitungsstatus Ihrer Domain zu überprüfen.

Durch den Umgang mit HTTPS-Verbindungen und die Konfiguration von DNS schaffen Sie ein sicheres Umleitungssystem für Ihre www- und non-www-Domains.

Fehlerbehebung bei häufigen Umleitungsproblemen

Umgang mit Umleitungsschleifen

Umleitungsschleifen entstehen, wenn Umleitungen zur ursprünglichen URL zurückführen und einen Zyklus bilden. So finden und beheben Sie zirkuläre Umleitungen:

  1. Verwenden Sie Online-Redirect-Checker oder Browser-Entwicklertools, um Schleifen zu erkennen.

  2. Überprüfen Sie Ihre Nginx-Konfigurationsdateien auf widersprüchliche Umleitungsregeln.

  3. Suchen Sie nach Umleitungen in Ihrem Content-Management-System oder .htaccess-Dateien.

So finden Sie Umleitungsprobleme in Serverlogs:

  1. Greifen Sie auf Nginx-Fehlerprotokolle zu:

    sudo tail -f /var/log/nginx/error.log
  2. Suchen Sie nach wiederholten Umleitungseinträgen oder Fehlermeldungen.

  3. Verwenden Sie Log-Analyse-Tools, um Muster im Umleitungsverhalten zu finden.

Optimierung der Umleitung für Suchmaschinen

Um Suchmaschinen zu helfen, Ihre Umleitungen zu verstehen:

  1. Verwenden Sie 301 (dauerhafte) Umleitungen für www zu non-www. Überprüfen Sie dies in Ihrer Nginx-Konfiguration:

    return 301 $scheme://example.com$request_uri;
  2. Aktualisieren Sie Ihre XML-Sitemap:

    • Entfernen Sie www-URLs
    • Fügen Sie non-www-URLs hinzu
    • Reichen Sie die aktualisierte Sitemap bei Suchmaschinen ein
  3. Ändern Sie Ihre robots.txt-Datei:

    • Verwenden Sie die non-www-Version in der Sitemap-Direktive
    • Beispiel:
      Sitemap: https://example.com/sitemap.xml
  4. Nutzen Sie die Google Search Console, um:

    • Ihre bevorzugte Domainversion festzulegen
    • Auf Crawling-Fehler im Zusammenhang mit Umleitungen zu prüfen

Durch die Behebung von Umleitungsschleifen und die Optimierung für Suchmaschinen können Sie die Leistung und Sichtbarkeit Ihrer Website in Suchmaschinen verbessern.