Bei einem Redirect handelt es sich um eine automatische Weiterleitung eines Besuchers oder allgemein eines Clients auf eine definierte Zieladresse. Hierzu ist anzumerken, dass die Anfrage nicht nur von einem realen Seitenbesucher, sondern auch automatisiert von einem eingenständig vorgehenden Client-Programm – beispielsweise einem Bot, der im Auftrag eines Suchmaschinenbetreibers Internetseiten im Web spidert – ausgehen kann. Am Anfang eines jeden Redirects steht eine Anfrage an den Webserver, ein sogenannter Request, der eine bestimmte Datei, die unter einer URL gespeichert ist, anfordert. Auf diesen Request antwortet der Webserver normalerweise mit der Auslieferung der angeforderten Datei.
Ist für eine URL ein Redirect vorgesehen, so antwortet der Server nicht mit der Auslieferung der Datei, sondern er teilt dem Client – beispielsweise dem Webbrowser – mit, wo die angeforderte Datei zu finden ist. Eigentlich sollte ein Redirect stets direkt über eine entsprechende Rückmeldung durch den Webserver durchgeführt werden. Antwortet der Webserver direkt mit einem Redirect, so wird die zu übertragende Datenmenge minimiert – der Webserver schickt dann nur eine Request-Header an den Client, der nur einige Bytes lang ist. Umgesetzt werden kann ein solcher serverseitiger Redirect durch einen Eintrag in die .htaccess-Datei oder aber über ein Script, welches auf dem Server läuft (in irgendeiner Programmiersprache; meist in PHP, Perl oder ASP), und als Antwort einen Redirect an den Client schickt.
Auch mit Hilfe des HTML-Meta-Tags im HEAD-Bereich einer HTML-Datei ist die Umsetzung eines Redirects möglich. Redirects können aber auch über clientseitige Scripte – beispielsweise mit Hilfe von JavaScript – umgesetzt werden. Dazu darf aber nicht unerwähnt bleiben, dass eine solche Umleitung voraussetzt, dass der Client JavaScript unterstützt und darüber hinaus auch das Ausführen von JavaScript erlaubt ist. Bots und viele andere automatisch agierende Clients unterstützen keine clientseitigen Scriptsprachen – hier würde ein solcher Redirect fehlschlagen. Ein weiterer Nachteil der beiden letzten Vorgehensweisen ist der, dass die HTML-Datei, welche den Redirect enthält an den Client ausgeliefert werden muss und somit unnötiger Traffic entsteht.
Gründe einen Redirect einzusetzen gibt es viele. Der wohl wichtigste Grund zur Nutzung eines Redirects ist ein Serverumzug. Damit wird dem Client angezeigt, dass der Webserver nunmehr unter einer neuen Adresse zu finden ist und die gesamte Struktur, die bislang unter der alten Adresse gespeichert war wird auf den neuen Server umgeleitet. Nachdem der Client einen Redirect angezeigt bekommen hat, lädt dieser automatisch die neue Zieladresse in das Fenster. Zum Thema Redirects beachten Sie bitte auch die Seite Redirect in PHP.
Im folgenden Beispiel-Script wird eine HTML-Seite gelistet, die einen Redirect mit JavaScript realisiert. Hier ist ein minimales Gerüst einer HTML-Datei enthalten, die einen Script-Bereich enthält, in dem der JavaScript-Code für den Redirect eingebaut ist. Der href-Eigenschaft des aktuellen Fensters wird die URL zugewiesen, auf die umgeleitet werden soll. Die href-Eigenschaft gehört zum Location-Objekt. Eine solche Datei muss unter dem Namen der Datei gespeichert werden von der aus auf die neue Datei umgeleitet werden soll. Wenn Sie den JavaScript-Teil aus dem unteren Script in eine bestehende Datei integrieren, dann werden Ihre Besucher direkt an die gesetzte Zielseite verwiesen.
<html> <body> <script language="javascript" type="text/javascript"> <!-- // JavaScript-Bereich für ältere Browser auskommentieren window.location.href = 'http://www.evocomp.de'; // --> </script> </body> </html>
Das nächste Beispiel zeigt, wie ein verzögerter Redirect implementiert werden kann. Hierzu wird auf die Methode setTimeout() zurückgegriffen. Diese Methode führt den im ersten Parameter angegebenen JavaScript-Befehl mit einer im zweiten Parameter angegebenen zeitlichen Verzögerung aus. Nach Ablauf des Timeouts (hier 5000 Millisekunden; 5 Sekunden) wird die Funktion redirect_to aufgerufen, die den Redirect ausführt. Settimeout gehört zur Schnittstelle des in JavaScript vordefinierten Window-Objekts. Als Parameter erwartet die Funktion redirect_to die URL, auf die umgeleitet werden soll. Den Script-Bereich unten können Sie – inklusive der dort definierten Funktion – in eine beliebige HTML-Datei einfügen. Durch Anpassung des Timeouts können Sie den Redirect auch früher oder später durchführen lassen.
<script language="javascript" type="text/javascript"> <!-- // JavaScript-Bereich für ältere Browser auskommentieren // Nach fünf Sekunden Funktion redirect_to aufrufen window.setTimeout ('redirect_to ("http://www.evocomp.de")', 5000); // Funktion führt einen Redirect auf die übergebene URL durch function redirect_to (destination) { window.location.href = destination; } // --> </script>
¬ Menu
¬ Gratis Download
¬ Seminare
¬ Yoga
¬ Insolvenzrecht
¬ News
15.08.2008Schleifen in PHP: Die While-Schleife » mehr 13.08.2008Nutzung von Variablen unter PHP: Definition, Sichtbarkeit und vordefinierte Variablen » mehr 11.08.2008Ausgabe von Datum und Zeit mit PHP nach Konvertierung in ein String » mehr Eine vollständige News-Liste ist auf der News-Seite zugänglich.
¬ Foren
¬ Buchtipp
JavaScript
Weitere JavaScript Literaturtipps finden Sie unter JavaScript Bücher
Webdesign •
Beratung Internetseite •
Programmierung Internetseite