Privatkunde Geschäftskunde

Weiterleitungen mit .htaccesswww vereinheitlichen, HTTPS erzwingen, alte Adressen umleiten

Eine Weiterleitung schickt Besucher und Suchmaschinen von einer alten Adresse auf eine neue - und entscheidet mit darüber, ob eine Seite nach einem Relaunch ihre Platzierungen behält. Diese Anleitung zeigt die wichtigsten Regeln für die .htaccess, erklärt den Unterschied zwischen 301 und 302 und benennt die Stellen, an denen es typischerweise klemmt.

301 statt 302www & HTTPSRelaunch-sicher

Veröffentlicht am

Was die .htaccess ist - und wo sie liegt

Die .htaccess ist eine Textdatei mit Anweisungen für den Webserver. Sie liegt im Dokumentenstammverzeichnis deiner Domain, üblicherweise in httpdocs, und gilt für dieses Verzeichnis samt allem darunter. Änderungen wirken sofort - ein Neustart ist nicht nötig.

Der Name beginnt mit einem Punkt, deshalb behandeln viele Programme sie als versteckte Datei. Im Plesk-Dateimanager ist sie sichtbar, in FileZilla musst du versteckte Dateien gegebenenfalls erst einblenden. Existiert noch keine, legst du sie einfach neu an.

301 oder 302 - der Unterschied zählt

Jede Weiterleitung trägt einen Statuscode, der Suchmaschinen sagt, wie sie damit umgehen sollen:

CodeBedeutungWann
301dauerhaft verschobenDer Normalfall: Relaunch, neue Adressstruktur, Domainwechsel. Die Bewertung der alten Adresse geht auf die neue über.
302vorübergehendNur für echte Übergangslösungen - Wartungsseite, zeitlich begrenzte Aktion. Die alte Adresse bleibt im Index.

Der häufigste Fehler bei einem Relaunch ist eine 302 statt einer 301. Suchmaschinen behalten dann die alten Adressen im Index und übertragen die aufgebaute Bewertung nicht - die neue Seite startet praktisch bei null. Im Zweifel also immer R=301.

www und HTTPS vereinheitlichen

Eine Seite sollte unter genau einer Adresse erreichbar sein. Sind es vier - mit und ohne www, mit und ohne HTTPS -, verteilt sich die Bewertung auf mehrere Varianten derselben Seite.

Von www auf die Variante ohne www:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

Umgekehrt, auf die www-Variante:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

Welche Variante du wählst, ist gleichgültig - Hauptsache, du entscheidest dich für eine und bleibst dabei. Trag sie anschließend auch im CMS als Seitenadresse ein, sonst arbeiten beide gegeneinander.

Einzelne Seiten nach einem Relaunch umleiten

Ändert sich beim Relaunch die Adressstruktur, braucht jede alte Adresse ein Ziel. Für einzelne Seiten reicht die einfache Form:

Redirect 301 /alte-seite.html /neue-seite/
Redirect 301 /produkte/altes-produkt /produkte/neues-produkt/

Für ein ganzes Verzeichnis samt Unterseiten:

RedirectMatch 301 ^/blog/(.*)$ /magazin/$1

Und für einen Domainwechsel, bei dem die Pfade gleich bleiben:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^alte-domain\.de$ [NC]
RewriteRule ^(.*)$ https://neue-domain.de/$1 [R=301,L]

Leite nicht pauschal alles auf die Startseite um. Wer eine bestimmte Unterseite gesucht hat und stattdessen auf der Startseite landet, springt in aller Regel wieder ab - und Suchmaschinen werten solche Sammelumleitungen ähnlich wie eine Fehlerseite. Jede alte Adresse gehört auf ihre inhaltlich passende Entsprechung.

Weitere nützliche Regeln

Eigene Fehlerseiten:

ErrorDocument 404 /fehler/404.html
ErrorDocument 403 /fehler/403.html

Verzeichnislisting abschalten. Ohne Indexdatei zeigt der Server sonst den Inhalt eines Verzeichnisses an:

Options -Indexes

Einzelne Datei sperren. Nützlich für Sicherungen oder Konfigurationsdateien, die versehentlich im Webverzeichnis gelandet sind:

<Files "geheim.txt">
    Require all denied
</Files>

Für einen echten Passwortschutz eines Verzeichnisses nimm besser den Verzeichnisschutz in Plesk - der legt die nötigen Dateien selbst an und verwaltet die Benutzer, ohne dass du Passwortdateien von Hand pflegst.

Typische Fehler

  • 500 Internal Server Error direkt nach dem Speichern. Ein Syntaxfehler - meist eine fehlende Klammer, ein Tippfehler in einer Direktive oder eine Regel, die dieser Server nicht kennt. Spiel die Kopie zurück und geh die Änderung zeilenweise durch.
  • Weiterleitungsschleife. Zwei Stellen leiten gegeneinander um, etwa Plesk auf HTTPS und die .htaccess zurück auf HTTP. Genau eine Stelle darf die Weiterleitung übernehmen.
  • Regel greift nicht. Die Reihenfolge zählt: Anweisungen werden von oben nach unten abgearbeitet, und [L] beendet die Verarbeitung. Steht deine Regel unterhalb eines Blocks, der bereits abschließt, wird sie nie erreicht.
  • WordPress-Regeln überschrieben. WordPress verwaltet einen eigenen Block zwischen # BEGIN WordPress und # END WordPress. Eigene Regeln gehören oberhalb davon - innerhalb des Blocks werden sie beim nächsten Speichern der Permalinks entfernt.
  • Änderung wirkt scheinbar nicht. Browser merken sich 301-Weiterleitungen hartnäckig. Teste mit einem privaten Fenster oder einem anderen Browser, bevor du weiter an der Regel schraubst.
  • Umlaute in der Datei. Speichere die .htaccess ohne Byte Order Mark. Manche Editoren setzen ihn automatisch, was zu schwer auffindbaren 500ern führt.

Häufige Fragen

Ja. Deine Regeln für Weiterleitungen, Fehlerseiten und Zugriffsschutz greifen. Leg die Datei im Dokumentenstammverzeichnis der Domain an, üblicherweise httpdocs - sie gilt dann für dieses Verzeichnis und alles darunter.

Eine 301 sagt dauerhaft verschoben: Suchmaschinen übertragen die Bewertung der alten Adresse auf die neue. Eine 302 ist nur vorübergehend, die alte Adresse bleibt im Index. Bei einem Relaunch oder Domainwechsel nimmst du immer 301 - eine 302 an dieser Stelle kostet Platzierungen.

Mit einer RewriteCond auf den Hostnamen und einer RewriteRule mit R=301. Wichtig ist weniger, welche Variante du wählst, als dass du dich für eine entscheidest und sie auch im CMS als Seitenadresse hinterlegst - sonst arbeiten beide gegeneinander.

Fast immer ein Syntaxfehler in der Datei: eine fehlende Klammer, ein Tippfehler oder eine Direktive, die der Server nicht kennt. Deshalb gehört vor jede Änderung eine Kopie der Datei - damit ist der vorherige Zustand in Sekunden wiederhergestellt.

Oberhalb des Blocks, der mit BEGIN WordPress beginnt und mit END WordPress endet. Diesen Bereich verwaltet WordPress selbst und überschreibt ihn, sobald die Permalink-Einstellungen gespeichert werden - eigene Regeln darin wären dann weg.

Über Plesk. Bei der Domain gibt es dafür eine dauerhafte Weiterleitung von HTTP auf HTTPS. Nutze genau diese eine Stelle - wird HTTPS zusätzlich in der .htaccess und im CMS erzwungen, entsteht eine Weiterleitungsschleife und die Seite ist gar nicht mehr erreichbar.

Volle Kontrolle über die Auslieferung

Auf dem Webspace greifen deine eigenen .htaccess-Regeln - für Weiterleitungen, Fehlerseiten und Zugriffsschutz. Verwaltet wird alles über Plesk, ohne Kommandozeile.

Webspace-Pakete & Preise ansehen