301 Weiterleitungen mittels .htaccess

Auf diesem Blog sind mit­tler­weile einige Beiträge erschienen, in denen von ein­er 301-Weit­er­leitung die Rede ist. All diese Weit­er­leitun­gen wer­den über die .htac­cess-Datei umge­set­zt. In diesem Beitrag wer­den die jew­eili­gen Codes gebün­delt.

Wozu überhaupt einen Redirect einrichten?

Eine 301-Weit­er­leitung benötigt man immer dann, wenn sich die Links ein­er Web­site ändern. Das gilt natür­lich nur für Web­sites, die schon im Netz sind und nachträglich verän­dert wer­den. Damit alle bis zur Änderung aktiv­en Links ihre Gültigkeit behal­ten, wird eine Umleitung vom alten zum neuen Link ein­gerichtet. Wer dies nicht macht, wird User wie Such­maschi­nen ver­graulen, weil diese eine 404-Seite (Seite nicht gefun­den) angezeigt bekom­men. Gle­ichzeit­ig sinkt das Rank­ing der Such­maschi­nen und die Seite taucht weniger oft in den Suchergeb­nis­sen auf.

Wo finde ich die .htaccess-Datei?

Die .htac­cess-Datei liegt im ober­sten Verze­ich­nis der Web­seite und wird von den Browsern als erstes aus­ge­le­sen. Auch bei einem Word­Press-Blog liegt diese Datei auf der ober­sten Ebene. Word­Press schreibt eben­falls Code in diese Datei, der nicht verän­dert wer­den darf, wenn eine Weit­er­leitung ein­gerichtet wird. Die Weit­er­leitung wird zuerst in die Datei einge­fügt.

Über ein ftp-Pro­gramm wird auf das Verze­ich­nis zuge­grif­f­en und die Datei herun­terge­laden. Existiert noch keine .htac­cess-Datei, kann diese mit einem Texte­d­i­tor ein­fach erstellt wer­den. Dabei gilt zu beacht­en, dass diese Datei keine Datei-Endung besitzt.

Wie bei allen Änderun­gen an Dateien, die für Web­seit­en verän­derten wer­den, gilt, dass diese nicht mit einem Textver­ar­beitung­spro­gramm wie Word, son­dern nur mit reinen Texte­d­i­toren bear­beit­et wer­den dür­fen.

Durch den vor­angestell­ten Punkt im Dateina­men wird die Datei unter macOS nicht angezeigt, da so ver­steck­te Dateien markiert wer­den. Unter Win­dows sind diese Dateien für gewöhn­lich sicht­bar. Fol­gend also zuerst eine Beschrei­bung, wie ver­steck­te Dateien unter macOS angezeigt wer­den kön­nen.

Auf dem Mac versteckte Dateien anzeigen

Es gibt zwei Möglichkeit­en, sich die ver­steck­ten Dateien auf einem Mac anzeigen zu lassen.

1. Tastenkombination

Am schnell­sten funk­tion­iert es über die Tas­tenkom­bi­na­tion
[cmd] + [shift] + [.]
oder mit den Sym­bol­en der Mac-Tas­tatur
[⌘] + [⇧] + [.]
Ein nochmailiges Drück­en der Tas­tenkom­bi­na­tion deak­tiviert diese Option wieder.

2. Terminal

Etwas umständlich­er funk­tion­iert es über das Ter­mi­nal

  1. Das Ter­mi­nal öff­nen (entwed­er über das Launch­pad oder über Spot­light, in dem ein­fach Ter­mi­nal in das Such­fen­ster eingegeben wird).
  2. Fol­gen­den Befehl ein­fü­gen und mit Enter bestäti­gen
    defaults write com.apple.finder AppleShowAll­Files ‑bool TRUE
    Übri­gens: auf dem Mac funk­tion­iert das Kopieren und Ein­fü­gen aus dem Brows­er in das Ter­mi­nalfen­ster.
  3. Anschließend wird der Find­er mit fol­gen­dem Befehl (der eben­falls mit Enter bestätigt wird) neuges­tartet
    kil­lall Find­er
  4. Fol­gen­den Befehl im Ter­mi­nal mit Enter bestäti­gen, um die Sicht­barkeit rück­gängig zu machen
    defaults write com.apple.finder AppleShowAll­Files ‑bool FALSE
  5. Anschließend wieder den Find­er neu starten mit
    kil­lall Find­er

Mögliche Redirects (Weiterleitungen)

Interne Weiterleitungen

Solch ein­er interne Redi­rect macht Sinn, wenn sich die Struk­tur ein­er Web­seite 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
Redi­rect 301 /al­ter-pfad/ https://fl‑e.de/neuer-pfad/

Das funk­tion­iert aber nur, wenn die Struk­tur der Web­seite, die anschließend fol­gt, beste­hen bleibt. Die Domain muss natür­lich entsprechend angepasst wer­den.

Ändert sich die Struk­tur eines Word­Press-Blogs von Tag und Name nach %Postlink%, so sieht der Code fol­gen­der­maßen aus:

Redi­rect­Match 301 ^/([0–9]{4})/([0–9]{2})/([0–9]{2})/(?!page/)(.+)$ https://fl‑e.de/$4

von Monat und Name entsprechend

Redi­rect­Match 301 ^/([0–9]{4})/([0–9]{2})/(?!page/)(.+)$ https://fl‑e.de/$3

Wer näheres zur Struk­turän­derung des Word­Press-Blogs erfahren möchte, lese den entsprechen­den Beitrag.

Weiterleitung von www auf nicht-www

Diese Weit­er­leitung sollte mit­tler­weile der Web­hoster automa­tisch übernehmen. Wer den­noch mit seinem Web­hoster zufrieden ist und eine entsprechende Umleitung selb­st ein­richt­en möchte, ver­wende fol­gen­den Code:

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

Das gle­iche funk­tion­iert natür­lich auch anders herum:

Weiterleitung von nicht-www auf www

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

Weiterleitung von http auf https

Es ist drin­gend anger­at­en, seine Web­seite nur noch ver­schlüs­selt zu betrieben, damit diese nur noch über https zu erre­ichen ist. Wenn der Web­hoster das SSL-Zer­ti­fikat zur Ver­fü­gung stellt, wird auch die Weit­er­leitung automa­tisch ein­gerichtet. Wer das SSL-Zer­ti­fikat manuell sein­er Seite hinzufü­gen muss, muss auch die Weit­er­leitung manuell ein­fü­gen. Hier kur­sieren sehr viele unter­schiedliche Codes im Netz, bei uns hat aber nur fol­gen­der funk­tion­iert:

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

Im Gegen­satz zu anderen hier gezeigten Codes, muss dieser so wie er ist über­nom­men wer­den.

The­o­retisch kann man auch eine Weit­er­leitung von https auf http ein­richt­en, aber das macht wenig Sinn.

Weiterleitung zu einer neuen Domain

Wer seine Web­seite zu ein­er neuen Domain umzieht und dabei die Stuk­tur der Web­seite nicht andert, ver­wen­det fol­gen­den Code

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

ändert sich die Web­seit­en-Struk­tur, hil­ft fol­gen­der Code:

RewriteEngine On
Rewrite­Cond %{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