Die Webseite perfekt umleiten

Teil 3: Workshop: Redirect und Modrewrite

Statisch zu dynamisch

Eine Webseite wächst mit der Zeit und irgendwann ist es nicht mehr möglich, nur allein mit statischen Seiten und ohne Content Management System (CMS) die Inhalte zu pflegen. Damit Ihren Besuchern jedoch nicht die Bookmarks verloren gehen oder die indizierten Seiten der Suchmaschinen nicht mehr zu finden sind, sollten Sie entsprechende Umleitungen definieren.

Viele CMS nutzen dynamische Seiten zur Generierung von Inhalten - diese sind dann wenig sprechend. Ihre statische Seite besaß die URL http://www.meineseite.de/fcb/oliverkahn und ist jetzt im CMS wiederzufinden unter http://www.meineseite.de/fcb/index.php?id=4711. Die Regel, welche den ersten Link auf den dynamisch generierten verweist, sieht folgendermaßen aus:

RewriteRule ^fcb/oliverkahn/$ /fcb/
index.php?id=4711 [NC,L]

An dieser Stelle sehen Sie auch den Einsatz der regulären Ausdrücke. Der Anfang einer URL oder eines Dateinamens wird durch ein ^ gekennzeichnet, der Abschluss durch ein Dollarzeichen $. Die Parameter am Ende des Befehls zeigen an, dass Groß- und Kleinschreibung zu ignorieren sind und es sich um den letzten Befehl handelt.

Überlagerungen vermeiden

Eine Reihe von CMS und Blogsystemen nutzen .htaccess zur Umleitung von Inhalten auf die passende Startseite. Die Einträge sehen dann folgendermaßen aus:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Alle Anfragen, die auf das entsprechende Verzeichnis kommen und nicht leer sind, werden auf die Datei index.php umgeleitet. Dies ist kein Problem, wenn Sie alle Inhalte über das CMS verwalten und auch aus der Vergangenheit keine weiteren RewriteRules, beispielsweise von statischen Inhalten, integriert haben. Ansonsten sollten Sie diese entsprechend vorher abfangen:

RewriteCond %{REQUEST_URI} ^/
(stats/?|missing\.html|failed_auth\.html) [NC]
RewriteRule .* - [L]

Kommt nun eine Anfrage auf eine Datei im Verzeichnis, die auch real existiert, so wird diese weitergereicht und angezeigt.

Subdomains eliminieren

Immer wieder kommt es vor, dass Inhalte aus Sub-Domains in die Hauptdomain zurückziehen oder Sie Ihre Webseiten-Struktur überarbeitet haben. Die folgende Regel erlaubt Ihnen die Umleitung von Subdomains, wie etwa warda.meineseite.de auf den Einstiegspunkt www.meineseite.de.

RewriteCond %{HTTP_HOST} ^(.*)
\.meineseite\.de$ [NC]
RewriteRule ^(.*)$ http://www.
meineseite.de

Die Einstiegsbedingung prüft, ob es sich auch wirklich um eine Anfrage auf eine Subdomain handelt und verweist entsprechend alle Anfragen auf die Startseite. Dabei wird die URL auf eine Zeichenkette gefolgt von einem Punkt vor meineseite.de untersucht.

Sollte es sich bei der Zeichenkette um www handeln, so ist dies auch kein Problem, denn dann sind der ursprüngliche Link und der ersetzte entsprechend gleich.

Weiterleitung auf CMS

Wenn Sie planen, ein CMS einzuführen und dies nicht im root-Verzeichnis speichern können, sondern ein Unterverzeichnis benötigen - im Beispiel cms -, sollten Sie für eine Weiterleitung mithilfe einer RewriteRule sorgen.

Prüfen Sie vorab, ob entweder direkt die URL, also http://www.meineseite.de oder die zugehörige Index-Datei aufgerufen wurde und leiten Sie diese ins entsprechende Verzeichnis um. Der Regel wird zusätzlich http-Code 301 mitgegeben, um zu signalisieren, dass die Inhalte dauerhaft umgezogen sind.

RewriteEngine On
RewriteCond %{RE
QUEST_URI} ^/$ [OR]
RewriteCond %{REQUEST_URI} ^/index\
.html$
RewriteRule ^.*$ http://www.meinesei
te.de/cms/ [R=301,L]

Weiterleitungen unterbinden

In manchen Fällen möchten Sie jedoch auch bewusst die Weiterleitung unterbinden. Dies kann beispielsweise dann der Fall sein, wenn Ihre Site überdurchschnittlich häufig von Crawlern besucht wird, die keiner Suchmaschine zuzuordnen sind. Dabei handelt es sich dann meist um Plagegeister, die auf die Reise geschickt wurden, um beispielsweise E-Mail-Adressen zu grabben.

Sie können die unwillkommenen Besucher entweder anhand der IP-Adresse identifizieren, von der sie kommen, oder mithilfe des angezeigten Namens. Die Bedingung samt Regel sieht dann wie folgt aus:

RewriteCond %{HTTP_USER_AGENT}
^.*SpamBot.*$
RewriteRule ^.* - [F]

Mithilfe der Servervariable HTTP_USER_AGENT wird die Quelle untersucht und anschließend der String ^.*SpamBot.*$ definiert. Dabei handelt es sich um eine URL - ^ zu Beginn und $ am Ende - die den Ausdruck SpamBot enthält und davor und dahinter beliebig viele Zeichen .* hat.

Die generierte Regel gilt für alle angefragten URLs, verweist ins Leere und generiert über den Parameter [F] einen Statuscode 403 (Forbidden) an den anfragenden Bot.

Mehr zum Thema

Youtube Sperre umgehen GEMA
Videos freischalten

So umgehen Sie die GEMA-Sperre bei Youtube. Was Sie dazu brauchen, und wie es am einfachsten geht.
Neue Fritzboxen unterstützen den AC-Standard.
WLAN-Geschwindigkeit verdoppeln

Mehr WLAN-Geschwindigkeit: Mit dem WLAN-Standard 802.11ac und den richtigen Geräten und Einstellungen verdoppeln Sie den Datendurchsatz.
Netflix auf dem TV
Programm in der Übersicht

Welche Filme und Serien gibt es bei Netflix eigentlich zu sehen? Was ist neu im Streaming-Angebot? Diese Antworten helfen weiter.
Netflix
Streaming

Preise, kompatible Geräte, Datenrate, Serien- und Filmangebot von Netflix: Wir beantworten die wichtigsten Fragen rund um den Streaming-Dienst.
E.T. – Der Außerirdische
Vorschau auf Film- und Serien-Highlights

Amazon Prime Instant Video lockt im Dezember 2016 mit Film-Highlights wie "E.T.", "Fast & Furious 7" und der Serie "Ku’damm 56​".