Nach der Installation Ihres SSL-Zertifikats müssen Sie den gesamten HTTP-Traffic auf HTTPS umleiten. Ohne Weiterleitung verwenden Besucher, die http://ihredomain.com aufrufen, nicht die verschlüsselte Verbindung — selbst wenn HTTPS verfügbar ist.
Verwenden Sie eine 301-Weiterleitung (permanent), damit Suchmaschinen alle Ranking-Signale auf die HTTPS-URL übertragen.
Nginx
Fügen Sie einen separaten server-Block für Port 80 hinzu, der alles weiterleitet:
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
Dies bewahrt den vollständigen URL-Pfad: http://example.com/seite?q=1 → https://example.com/seite?q=1.
Nach der Bearbeitung testen und neu laden:
sudo nginx -t && sudo systemctl reload nginx
Apache
Option 1: VirtualHost-Weiterleitung (empfohlen)
Fügen Sie dies zu Ihrer Apache-Konfiguration hinzu:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://example.com/
</VirtualHost>
Option 2: .htaccess (Shared Hosting)
Wenn Sie keinen Zugriff auf die VirtualHost-Konfiguration haben (Shared Hosting), fügen Sie dies in die .htaccess Ihrer Seite ein:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Erfordert die Aktivierung von mod_rewrite.
Nach Änderungen:
sudo apachectl configtest && sudo systemctl reload apache2
Weiterleitung überprüfen
# Sollte 301 mit Location: https://... zurückgeben
curl -I http://ihredomain.com
Erwartete Ausgabe:
HTTP/1.1 301 Moved Permanently
Location: https://ihredomain.com/
HSTS: die doppelte Absicherung
Nachdem Sie bestätigt haben, dass Ihre Weiterleitung funktioniert, fügen Sie HSTS (HTTP Strict Transport Security) hinzu. Dies weist Browser an, immer HTTPS zu verwenden, selbst wenn der Benutzer http:// eingibt:
Nginx:
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains" always;
Apache:
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
Beginnen Sie mit einem kurzen max-age (z.B. 300 Sekunden) zum Testen, dann erhöhen Sie auf 2 Jahre (63072000), sobald Sie sicher sind, dass alles funktioniert.
Warnung: Sobald HSTS mit einem langen
max-ageaktiv ist, verweigern Browser die Verbindung über HTTP, selbst wenn Sie HTTPS entfernen. Stellen Sie sicher, dass Ihre HTTPS-Konfiguration stabil ist, bevor Sie eine lange Dauer festlegen.
Gängige Weiterleitungsmuster
www auf nicht-www + HTTPS umleiten
# Nginx: www → nicht-www, HTTP + HTTPS → HTTPS
server {
listen 80;
listen 443 ssl;
server_name www.example.com;
ssl_certificate /etc/ssl/fullchain.pem;
ssl_certificate_key /etc/ssl/privkey.pem;
return 301 https://example.com$request_uri;
}
Nicht-www auf www + HTTPS umleiten
server {
listen 80;
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/fullchain.pem;
ssl_certificate_key /etc/ssl/privkey.pem;
return 301 https://www.example.com$request_uri;
}
Eine gesamte alte Domain umleiten
server {
listen 80;
listen 443 ssl;
server_name olddomain.com www.olddomain.com;
ssl_certificate /etc/ssl/old-fullchain.pem;
ssl_certificate_key /etc/ssl/old-privkey.pem;
return 301 https://newdomain.com$request_uri;
}
Sie benötigen auch ein gültiges SSL-Zertifikat für die alte Domain — Browser müssen HTTPS herstellen, bevor sie die Weiterleitung empfangen können. Verwenden Sie ein SAN-Zertifikat, das beide Domains abdeckt, oder ein separates Zertifikat für die alte Domain.
Fehlerbehebung
Weiterleitungsschleife (ERR_TOO_MANY_REDIRECTS)
Dies bedeutet normalerweise, dass Ihr HTTPS-Server-Block ebenfalls auf HTTPS weiterleitet. Stellen Sie sicher, dass nur der Port-80-Block die Weiterleitung enthält — der Port-443-Block sollte Inhalte normal ausliefern.
Eine weitere Ursache: Ein Load Balancer oder Proxy (Cloudflare, AWS ALB) terminiert SSL und leitet HTTP an Ihren Server weiter. Ihr Server erkennt HTTP und leitet um. Lösung durch Prüfung des X-Forwarded-Proto-Headers:
# Hinter einem Proxy/Load Balancer
if ($http_x_forwarded_proto = "http") {
return 301 https://$host$request_uri;
}
Alte HTTP-URLs in Suchmaschinen gecacht
Nach dem Einrichten von Weiterleitungen informieren Sie Google über die Änderung:
- Aktualisieren Sie
<link rel="canonical">aufhttps:// - Aktualisieren Sie Ihre Sitemap-URLs auf
https:// - Fügen Sie in der Google Search Console die HTTPS-Property hinzu
Google aktualisiert indexierte URLs schrittweise, wenn es den 301-Weiterleitungen folgt.
Häufig gestellte Fragen
Sollte ich www gleichzeitig auf nicht-www (oder umgekehrt) umleiten?
Ja. Wählen Sie eine kanonische Form und leiten Sie die andere um. Dies vermeidet doppelte Inhalte in Suchmaschinen:
# www auf nicht-www umleiten (Nginx)
server {
listen 80;
listen 443 ssl;
server_name www.example.com;
return 301 https://example.com$request_uri;
}
Beeinflusst die Weiterleitung die SEO?
Eine 301-Weiterleitung überträgt Ranking-Signale an die Ziel-URL. Google empfiehlt 301-Weiterleitungen für die HTTP-zu-HTTPS-Migration. Es kann zu einem kleinen, vorübergehenden Einbruch kommen, aber langfristig verbessert sich die SEO durch das HTTPS-Ranking-Signal.
Was ist mit gemischten Inhalten nach der Weiterleitung?
Die Weiterleitung behandelt Seiten-URLs, aber wenn Ihr HTML Ressourcen (Bilder, Skripte, CSS) mit http://-URLs referenziert, blockieren Browser diese oder zeigen Warnungen an. Siehe unsere Anleitung zur Behebung gemischter Inhalte.
Wie teste ich, ob meine Weiterleitung korrekt funktioniert?
# Weiterleitungskette prüfen
curl -ILs http://ihredomain.com | grep -E '^HTTP|^Location'
Erwartete Ausgabe:
HTTP/1.1 301 Moved Permanently
Location: https://ihredomain.com/
HTTP/2 200
Die erste Antwort sollte 301 mit einer HTTPS-Location sein, und die letzte Antwort sollte 200 sein.
Sollte ich auf DNS-Ebene oder Server-Ebene umleiten?
Auf Server-Ebene (Nginx/Apache-Konfiguration oder .htaccess). DNS-Level-Weiterleitungen (wie Cloudflares Page Rules) funktionieren, fügen aber einen Netzwerk-Hop hinzu und geben Ihnen weniger Kontrolle über das Weiterleitungsverhalten. Server-seitige Weiterleitungen sind schneller und zuverlässiger.