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:

  1. Meta-Tag (Refresh)

  2. Javascript-Weiterleitung

  3. 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.

© Hermann Faß, 2005