301 Weiterleitungen mittels .htaccess

Auf diesem Blog sind mittlerweile einige Beiträge erschienen, in denen von einer 301-Weiterleitung die Rede ist. All diese Weiterleitungen werden über die .htaccess-Datei umgesetzt. In diesem Beitrag werden die jeweiligen Codes gebündelt.

Wozu überhaupt einen Redirect einrichten?

Eine 301-Weiterleitung benötigt man immer dann, wenn sich die Links einer Website ändern. Das gilt natürlich nur für Websites, die schon im Netz sind und nachträglich verändert werden. Damit alle bis zur Änderung aktiven Links ihre Gültigkeit behalten, wird eine Umleitung vom alten zum neuen Link eingerichtet. Wer dies nicht macht, wird User wie Suchmaschinen vergraulen, weil diese eine 404-Seite (Seite nicht gefunden) angezeigt bekommen. Gleichzeitig sinkt das Ranking der Suchmaschinen und die Seite taucht weniger oft in den Suchergebnissen auf.

Wo finde ich die .htaccess-Datei?

Die .htaccess-Datei liegt im obersten Verzeichnis der Webseite und wird von den Browsern als erstes ausgelesen. Auch bei einem WordPress-Blog liegt diese Datei auf der obersten Ebene. WordPress schreibt ebenfalls Code in diese Datei, der nicht verändert werden darf, wenn eine Weiterleitung eingerichtet wird. Die Weiterleitung wird zuerst in die Datei eingefügt.

Über ein ftp-Programm wird auf das Verzeichnis zugegriffen und die Datei heruntergeladen. Existiert noch keine .htaccess-Datei, kann diese mit einem Texteditor einfach erstellt werden. Dabei gilt zu beachten, dass diese Datei keine Datei-Endung besitzt.

Wie bei allen Änderungen an Dateien, die für Webseiten veränderten werden, gilt, dass diese nicht mit einem Textverarbeitungsprogramm wie Word, sondern nur mit reinen Texteditoren bearbeitet werden dürfen.

Durch den vorangestellten Punkt im Dateinamen wird die Datei unter macOS nicht angezeigt, da so versteckte Dateien markiert werden. Unter Windows sind diese Dateien für gewöhnlich sichtbar. Folgend also zuerst eine Beschreibung, wie versteckte Dateien unter macOS angezeigt werden können.

Auf dem Mac versteckte Dateien anzeigen

Es gibt zwei Möglichkeiten, sich die versteckten Dateien auf einem Mac anzeigen zu lassen.

1. Tastenkombination

Am schnellsten funktioniert es über die Tastenkombination
[cmd] + [shift] + [.]
oder mit den Symbolen der Mac-Tastatur
[⌘] + [⇧] + [.]
Ein nochmailiges Drücken der Tastenkombination deaktiviert diese Option wieder.

2. Terminal

Etwas umständlicher funktioniert es über das Terminal

  1. Das Terminal öffnen (entweder über das Launchpad oder über Spotlight, in dem einfach Terminal in das Suchfenster eingegeben wird).
  2. Folgenden Befehl einfügen und mit Enter bestätigen
    defaults write com.apple.finder AppleShowAllFiles -bool TRUE
    Übrigens: auf dem Mac funktioniert das Kopieren und Einfügen aus dem Browser in das Terminalfenster.
  3. Anschließend wird der Finder mit folgendem Befehl (der ebenfalls mit Enter bestätigt wird) neugestartet
    killall Finder
  4. Folgenden Befehl im Terminal mit Enter bestätigen, um die Sichtbarkeit rückgängig zu machen
    defaults write com.apple.finder AppleShowAllFiles -bool FALSE
  5. Anschließend wieder den Finder neu starten mit
    killall Finder

Mögliche Redirects (Weiterleitungen)

Interne Weiterleitungen

Solch einer interne Redirect macht Sinn, wenn sich die Struktur einer Webseite oder eines Blogs ändert. Wenn sich zum Beispiel eine URL ändert von fl-e.de/alter-pfad/ nach fl-e.de.de/neuer-pfad/

RewriteEngine On
Redirect 301 /alter-pfad/ https://fl-e.de/neuer-pfad/

Das funktioniert aber nur, wenn die Struktur der Webseite, die anschließend folgt, bestehen bleibt. Die Domain muss natürlich entsprechend angepasst werden.

Ändert sich die Struktur eines WordPress-Blogs von Tag und Name nach %Postlink%, so sieht der Code folgendermaßen aus:

RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(?!page/)(.+)$ https://fl-e.de/$4

von Monat und Name entsprechend

RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/(?!page/)(.+)$ https://fl-e.de/$3

Wer näheres zur Strukturänderung des WordPress-Blogs erfahren möchte, lese den entsprechenden Beitrag.

Weiterleitung von www auf nicht-www

Diese Weiterleitung sollte mittlerweile der Webhoster automatisch übernehmen. Wer dennoch mit seinem Webhoster zufrieden ist und eine entsprechende Umleitung selbst einrichten möchte, verwende folgenden Code:

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

Das gleiche funktioniert natürlich auch anders herum:

Weiterleitung von nicht-www auf www

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.fl-e\.de$ [NC]
RewriteRule ^(.*)$ http://www.fl-e.de/$1 [L,R=301]

Weiterleitung von http auf https

Es ist dringend angeraten, seine Webseite nur noch verschlüsselt zu betrieben, damit diese nur noch über https zu erreichen ist. Wenn der Webhoster das SSL-Zertifikat zur Verfügung stellt, wird auch die Weiterleitung automatisch eingerichtet. Wer das SSL-Zertifikat manuell seiner Seite hinzufügen muss, muss auch die Weiterleitung manuell einfügen. Hier kursieren sehr viele unterschiedliche Codes im Netz, bei uns hat aber nur folgender funktioniert:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Im Gegensatz zu anderen hier gezeigten Codes, muss dieser so wie er ist übernommen werden.

Theoretisch kann man auch eine Weiterleitung von https auf http einrichten, aber das macht wenig Sinn.

Weiterleitung zu einer neuen Domain

Wer seine Webseite zu einer neuen Domain umzieht und dabei die Stuktur der Webseite nicht andert, verwendet folgenden Code

RewriteEngine On
RewriteCond %{REQUEST_URI} (.*)
RewriteRule ^(.*)$ https://fl-e.de/$1 [L,R=301]

ändert sich die Webseiten-Struktur, hilft folgender Code:

RewriteEngine On
RewriteCond %{REQUEST_URI} (.*)
RewriteRule ^(.*)$ https://www.fl-e.de/ [L,R=301]


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.