Server- und clientseitige Redirects: Browser-Weiterleitungen
Browser-Weiterleitungen per Meta-Tag und JavaScript
Übersicht / Seite - Weiterleitungen:
- per Meta-Tag (allgemeine Infos zur Benutzung)
- per JavaScript (clientseitige Redirects mit JavaScript)
- auf mobile Seiten (eine einfache Umleitung auf mobile Seiten)
- mit Bestätigung (Pseudo-Weiterleitung auf mobile Seite mit Bestätigung)
- mit PHP (serverseitige Redirects mit PHP)
- per htaccess (mit mod_alias und mod_rewrite)
- mit mod_rewrite (weitere Beispiele von Weiterleitungen per htaccess)
- URL-Rewriting (Umschreibung von URLs mit oder ohne QueryStrings)
- Weiterleitung statt 404 (... bei fehlerhaften Aufrufen oder von alten URLs)
Weiterleitungen per Meta-Tag
(Vorbemerkung: Bei Meta Tags handelt
es sich eigentlich um Meta Elemente und nicht um Tags!)
Zu der einfachsten und zugleich auch umstrittensten Form von Weiterleitungen
gehören automatische Browser-Weiterleitungen, die einfach als Meta-Angaben notiert werden. Da es keine Garantie
gibt, dass alle Browser derartige Weiterleitungen akzeptieren, ebenso das Suchmaschinen diesen Weiterleitungen
folgen, sollten diese nicht oder nur in begründeten Ausnahmefällen verwendet werden.
Ein begründeter Ausnahmefall könnte unter anderen dann vorliegen, wenn eine einzelne Unterseite umzog, der
zur Verfügung stehende Webspace jedoch nicht über PHP verfügt und vom Hoster keine Zugriffsmöglichkeiten
auf htaccess-Dateien eingeräumt werden. Da auch im Jahre 2012 noch einige Provider günstige Einstiegspakete
ohne PHP anbieten, bleibt dann oftmals für den Webmaster nur noch die Möglichkeit, die Besucher einer älteren
Seite mit Hilfe einer automatischen Browser-Weiterleitung auf eine neuere Seite zu leiten.
Beispiel einer Weiterleitung mit relativen Pfadangaben:
<meta
http-equiv="refresh"
content="10; url=neue-seite.html">
Je nach dem Ziel der Weiterleitung können relative oder absolute Pfade notiert
werden. Bei der Verwendung mit absoluten Pfaden, ist den Pfadangaben ein http:// voranzustellen.
Beispiel mit absoluten Pfadangaben:
<meta
http-equiv="refresh"
content="12; url=http://www.example.com/">
Die numerische Angabe bei content entspricht dabei der Wartezeit bis zur Weiterleitung
in Sekunden. Die Wartezeit sollte weder zu kurz noch zu lang gewählt werden, so dass auch ältere Personen
ausreichend Zeit haben, um einen Hinweis auf der älteren Seite zu lesen, doch niemand von einer übermäßig
langen Wartezeit genervt wird. Weiterhin sollte ein klickbarer Link auf der älteren Seite zur neueren Seite
vorhanden sein, der von den Besuchern betätigt werden kann, falls es Probleme mit der Weiterleitung geben
sollte.
Ein komplett mit einer Browser-Weiterleitung per Meta-Tag (Meta Element) eingerichtete Seite
könnte wie folgt aufgebaut sein.
Kleines Beispiel-Listing:
<!DOCTYPE html>
<html>
<head>
<title>Test Browser-Weiterleitung</title>
<meta http-equiv="refresh"
content="10; url=neue-seite.html">
</head>
<body>
<div style="text-align:center">
<h1>Test Browser-Weiterleitung</h1>
<p>Der Inhalt dieser Seite ist ab August 2012 nur noch unter einer neueren
Adresse erreichbar. Sie werden in 10 Sekunden weitergeleitet oder können den nachfolgenden Link benutzen.<br>
<br>
<a href="neue-seite.html">Neue
Seite</a>
</p>
</div>
</body>
</html>
Auf JavaScript fußende Browser-Weiterleitungen scheinen bei oberflächiger
Betrachtungsweise teilweise dieselben und teilweise sich ähnelnde Mängel zu besitzen, wie Weiterleitungen
per Meta-Tag. So können Browser einer per JavaScript realisierten Weiterleitung nur folgen, wenn JavaScript
vom Nutzer nicht deaktiviert wurde, auch werden Suchmaschinen kaum einer JavaScript-Weiterleitung folgen.
Es wurde bewusst "kaum einer" statt "keiner" geschrieben, da ein Webmaster sich nie
sicher sein kann, ob die Crawler von größeren Suchmaschinen und leider auch diverse Spambots, sich nicht
doch einmal eine unter Location angegebene Seite näher betrachten werden.
Mit clientseitigen Weiterleitungen per JavaScript sind jedoch einige Problemfälle recht einfach lösbar.
Zum Beispiel wenn eine Weiterleitung "auf sich selbst" erwünscht ist, um sicherzustellen, dass
die Seite nicht ohne weiteres in einem fremden Frame geladen werden kann. Im nachfolgendem Beispiel wird
mit einem Framebrecher zuerst überprüft, ob die Seite (self) im obersten (top) Fenster
geladen ist und falls self (!) nicht top ist, wird die Seite versuchen aus dem Frame auszubrechen,
in dem eine Weiterleitung auf sich selbst in top Position erfolgt.
Ein einfacher Framebrecher:
<script
type="text/javascript">
<!--
if (self != top) {top.location.replace(self.location.href);}
//-->
</script>
Eine einfache Umleitung auf eine andere Seite innerhalb eines
Webprojektes ist dem folgenden Code-Schnipsel zu entnehmen.
Umleitung mit JavaScript:
<script
type="text/javascript">
<!--
window.location.href = "andere-seite.html";
//-->
</script>
Je nach Einsatzzweck können relative oder absolute Pfadangaben benutzt werde.
Umleitung mit absoluten Pfadangaben:
<script
type="text/javascript">
<!--
window.location.href = "http://www.example.com/";
//-->
</script>
Browser-Weiterleitungen, die mit Hilfe von JavaScript realisiert wurden,
bieten sich ferner für Weiterleitungen zu mobilen Seiten an, wenn vor dem Weiterleiten die Monitor/Display-Eigenschaften
des Klienten (clients) abgefragt werden sollen. Doch dazu auf der nächsten Seite mehr.
weiterlesen »
Weiterleitung auf mobile Seite |
mit PHP und htaccess
|