Wer seine Website auf einem Apache-Server hostet, kann über die .htaccess-Datei weitreichende Anpassungen und Einstellungen vornehmen. Sie liegt normalerweise im Hauptordner der Website und über sie lassen sich nicht nur unter anderem die serverseitige Komprimierung oder das Browsercaching aktivieren und konfigurieren – auch Weiterleitungen können eingerichtet werden.
Mittels einer Weiterleitung kann man festlegen, dass ein Besucher beim Aufruf einer bestimmten URL automatisch auf eine andere Seite weitergeleitet wird. Oft bekommt der Nutzer davon gar nichts mit. Aber auch für die Auffindbarkeit der eigenen Seiten in Suchmaschinen sind Weiterleitungen nicht selten ein wichtiges Mittel, weil der Suchmaschinencrawler durch sie die neue URL erfährt.
Warum ändert sich eine URL überhaupt? Theoretisch gesehen muss das nicht geschehen. Wenn eine Website jedoch teilweise oder vollständig umstrukturiert wird („Relaunch“) oder Änderungen an den angebotenen Produkten und Dienstleistungen vorgenommen werden, kann dieser Fall eintreten.
In großen Online-Shops entfallen häufig Produkte und gleichzeitig kommen neue dazu. Wenn Besucher und Suchmaschinencrawler in diesem Fall auf ein ähnliches Produkt weitergeleitet werden, ist das nur sinnvoll.
Weiterleitungen einrichten – so funktioniert´s:
Beim Einrichten einer Weiterleitung sollte man vorher entscheiden, ob sie vorübergehender oder dauerhafter Natur sein soll. Gerade für Suchmaschinen macht das aus technischer Sicht nämlich einen erheblichen Unterschied. Anhand des HTTPS-Statuscodes, welcher beim Aufruf einer Seite zurückgegeben wird, erfährt der Suchmaschinencrawler, ob es sich um eine vorübergehende oder dauerhafte Weiterleitung handelt. Wann macht eine vorübergehende Weiterleitung Sinn (HTTP-Statuscode 302)?- Wenn ein Produkt oder eine Dienstleistung vorübergehend nicht verfügbar ist
- Wenn an der Website technische Arbeiten vorgenommen werden
- In allen Fällen, bei denen die URL-Änderung dauerhaft sein soll
Redirect /alte-seite.html https://www.example.com/de/neue-seite/So leitest Du eine URL dauerhaft weiter:
RedirectPermanent /alte-seite.html https://www.example.com/de/neue-seite/[su_note note_color="#f1f1f1"]Grundsätzlich gilt: Bevor Du in der .htaccess-Datei eine Weiterleitung definieren kannst, musst Du – sofern noch nicht geschehen – die „RewriteEngine“ einschalten. Das geschieht, indem Du vor Deinen Weiterleitungen einmalig die folgende Codezeile einfügst:
RewriteEngine On [ab hier kannst Du Deine Weiterleitungen festlegen][/su_note]
Viele URLs oder ganze Domain weiterleiten
Oft hält sich die Anzahl der weiterzuleitenden URLs in Grenzen. Manchmal muss aber eine sehr große Zahl an URLs auf einmal weitergeleitet werden und auch hierfür bietet die .htaccess-Datei Möglichkeiten für eine einfache Umsetzung:RewriteCond [Bedingungen] RewriteRule [Ziel-URL und weitere Parameter]Allerdings kann es je nach Szenario sehr kniffelig werden. Gerade wenn die URL-Struktur der Website nicht einheitlich aufgebaut ist, wird die Liste der Bedingungen schnell sehr komplex und unübersichtlich. [su_note note_color="#f1f1f1"]Besonders wichtig ist es... ...dass Du die Weiterleitungen und die Funktionsfähigkeit Deiner Website unbedingt testest, nachdem die Weiterleitungen eingerichtet wurden! Es ist keine Seltenheit, dass sich unbemerkt Fehler einschleichen, die ohne Testen häufig erst viel später bemerkt werden. Unsere Codeschnipsel stellen wir ohne Gewähr zur Verfügung. [/su_note] Aber auch, wenn sich die gesamte Domain ändert – beispielsweise bei einem Domainumzug oder der Umstellung auf HTTPS – leistet die .htaccess-Datei gute Dienste. So leitest Du Besucher und Suchmaschinen auf eine andere Domain um („www.example.com“ steht hier für die neue Domain):
RewriteCond %{HTTP_HOST} !www\.example\.com$ [NC] RewriteRule ^(.*)$ http://www\.example\.com/$1 [R=301,L]So leitest Du Besucher und Suchmaschinen von HTTP auf HTTPS um:
RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]