Tips für Web-Profis (Designer & HTML-Autoren)
◀Zurück zur Übersicht aller Themen
Webseiten-Weiterleitung
Weiterleitung durch den Webserver
Eine automatische Weiterleitung zu einer anderen Seite und/oder auf einen anderen Server sollte wenn möglich immer server-seitig installiert werden. Dazu konfiguriert man am Webserver einen sogenannten Redirect (englisch für Weitersenden oder Umschalten). Redirects ersparen die Übertragung von HTML-Ballast und sind sehr vielseitig. Die Details sind von der verwendeten Server-Software abhängig.
Als Editor ohne Zugriff auf die Server-Konfiguration kann man server-seitige Umleitungen hinbekommen, wenn der Webserver die Verwendung von .htaccess-Dateien unterstützt und der Administrator diese erlaubt. Die Einzelheiten hängen vom der verwendeten Server-Software ab und sind im Internet aber hinreichend dokumentiert, z.B. für den Apache HTTPD.
Sind .htaccess-Dateien nicht vorgesehen, kann man den Systemadministrator um einen Redirect bitten. Bei günstigen Web-Hosting-Paketen dürfte das aber zuviel verlangt sein. In dem Fall macht mal als Editor die Umleitung da, wo man praktisch zuhause ist: Im Browser.
Weiterleiten durch den Browser
Als Editor oder Designer ist man im Allgemeinen auf der Browser-Seite: Im Browser werden Design und Inhalt angezeigt und Anweisungen ausgeführt. Wir können den Browser so steuern, dass er eine andere Seite - sofort oder mit Zwischenstop - lädt.
Bei allen Erklärungen gehen wir von folgender Aufgabenstellung aus: Die Datei index.html soll weitergeleitet werden nach http://www.meinenserver.de/index.php.
Die meisten Erklärungen sind im HTML-Code der Beispiel-Lösungen als Kommentare untergebracht.
Normale (transparente) Weiterleitung
Maxime: Die geplante Weiterleitung soll auf allen möglichen Anzeigegeräten mit jeder beliebigen Konfiguration funktionieren und für den Betrachter möglichst transparent (unbemerkt) bleiben.
Folgendes Trio hat sich hierfür bewährt:
Meta-Tag (Refresh)
Javascript-Weiterleitung
Manueller Link zum Anklicken
Dann könnte die Datei index.html wie folgt aussehen:
<html> <head> <title>Weiterleitung</title> <!-- 1. Meta-Tag zur sofortigen Weiterleitung an den neuen URL --> <!-- Dieses Meta-Tag verstehen die meisten Browser und es funktioniert auch, wenn der Javascript ausgeschaltet oder vom Browser nicht unterstützt wird. --> <meta http-equiv="refresh" content="0; url=http://www.meinenserver.de/index.php"> </head> <body> <!-- 2. Javascript-Weiterleitung --> <!-- Falls das Meta-Tag vom Client ignoriert wurde, wird dem Client eine Javascript-Weiterleitung angeboten. Dieser Javascript-Teil ist übrigens so auskommentiert, dass er bei fehlender Javascript-Unterstützung normalerweise einfach ignoriert wird. --> <script type="text/javascript"><!-- window.location.href='http://www.meinenserver.de/index.php'; //--> </script> <!-- 3. Link zum manuellen Weiterklicken --> <!-- Wenn der Client bisher nicht weitergeleitet wurde, d.h. weder Meta-Tags noch Javascript unterstützt, wird das Folgende angezeigt -- vielleicht sogar die höflichste Art der Weiterleitung. --> <p> Diese Seite befindet sich jetzt an einem anderen Ort: </p> <p> <a href="http://www.meinenserver.de/index.php" title="Weiterleitung" >http://www.meinenserver.de/index.php</a> </p> </body> </html>
Weiterleitung mit „Zwischen-Aufenthalt”
Manchmal will man aus Anstand dem weitergeleiteten Website-Besucher anzeigen, dass er weitergeleitet wird. Im Prinzip reicht dazu ein ganz normaler HTML-Link aus. Besucherinnen und Besucher der betroffenen Seite sind durchaus im Stande, diesen Link anzuklicken.
Damit sieht die professionelle Umleitung mit Zwischen-Information für mich dann so aus:
<html> <head> <title>Weiterleitung</title> <!-- Hier CSS-Anweisungen etc. entsprechend dem Design der restlichen Seiten --> </head> <body> <!-- Das ganze vom Design her an die anderen Seiten des Web-Auftritts anpassen --> <p> Diese Seite befindet sich jetzt an einem anderen Ort: </p> <p> <a href="http://www.meinenserver.de/index.php" title="Weiterleitung" >http://www.meinenserver.de/index.php</a> </p> </body> </html>
Wer meinen obigen Rat verstanden hat, kann hier aufhören zu lesen.
Weiterleitung mit Verzögerung
Manche Website-Betreiber wollen unbedingt verzögerte automatische Weiterleitung
einbauen. Das kann den Besucher einer solchen Seite durchaus nerven.
Sehr gerne genommen wird dann auch der leidige Satz
„Sollten Sie nach 5 Sekunden nicht weitergeleitet werden, klicken
Sie bitte hier.”
(Hat da jemand hier
geschrieben?)
Die Datei index.html könnte dann so aussehen:
<html> <head> <title>Weiterleitung</title> <!-- Hier CSS-Anweisungen etc. wie auf anderen Seiten. --> <!-- 1. Meta-Tag zur sofortigen Weiterleitung an den neuen URL --> <!-- Die Zahl 5 im Content-Attribut des Tags steht hier für 5 Sekunden Wartezeit vor der Weiterleitung. --> <meta http-equiv="refresh" content="5; url=http://www.meinenserver.de/index.php"> </head> <!-- 2. Javascript-Weiterleitung --> <!-- Wie oben: Falls das Meta-Tag ignoriert wurde, sieht der Client folgende Javascript-Anweisung. setTimeout() sorgt für eine Wartezeit vor der Ausführung. Die Variable url erhällt den URL der Zieladresse. Die Variable delay erhällt hier den Wert 5, der für die Wartezeit in Sekunden steht. --> <script type="text/javascript"><!-- var url = "http://www.meinenserver.de/index.php"; var delay = 5; var cmd = 'window.location.href = "' + url + '"'; setTimeout(cmd, delay*1000); //--> </script> <!-- 3. Anweisung zur manuellen Weiterschaltung --> <!-- Folgender Body wird für alle Browser 5 Sekunden lang sichtbar sein. Daher sollte das Design auf jeden Fall zum Rest des Website passen. Wichtig ist auch der Link zum manuellen Weiterschalten, falls weder das Meta-Tag noch Javascript unterstützt werden. --> <body> <p> Sie werden von hier aus automatisch weitergeleitet zu: </p> <p> <a href="http://www.meinenserver.de/index.php" title="Weiterleitung" >http://www.meinenserver.de/index.php</a> </p> <p> Falls die Weiterleitung nicht automatisch erfolgt, klicken Sie bitte obigen Link. </body> </html>
Weitere Details zum Refresh-Meta-Tag und zu den hier verwendeten Javascript-Anweisungen gibt es im Web bereits zu Hauf.