WeiterleitungEine Weiterleitung (englisch forward) oder Umleitung (englisch redirect) im World Wide Web wird dazu verwendet, den Aufruf einer URL (z. B. Besuch einer Webseite) zu einer anderen URL zu führen. Eine Weiterleitung kann z. B. nach einem Umzug oder Umbau einer Website nützlich sein, um Besucher einer veralteten URL nicht ins Leere laufen zu lassen. Arten der WeiterleitungFür die technische Umsetzung von Weiterleitungen gibt es verschiedene Möglichkeiten:
Weiterleitung per HTTP-StatuscodeHTTP bietet die Möglichkeit, über das Header-Feld Statuscodes für Weiterleitungen sind spezifiziert in RFC 7231[1] sowie RFC 2616[2] (HTTP/1.1). Verschiedene HTTP-Statuscodes für Weiterleitungen werden von Browsern und Suchmaschinen entsprechend unterschiedlich interpretiert. Bezüglich der Intention kann unterschieden werden zwischen temporären und permanenten Weiterleitungen. Die technische Spezifikation unterscheidet bei Aspekten wie Caching und Request-Methode für die Ziel-URL der Weiterleitung. Die folgende Tabelle zeigt alle Statuscodes zur Weiterleitung und ihre technischen Spezifikationen:[3]
Das folgende Beispiel zeigt den HTTP-Header mit 301 Statuscode: HTTP/1.1 301 Moved Permanently
Location: http://www.example.org/
...
Umsetzung via PHPIm folgenden Beispiel wird der HTTP-Header für eine Weiterleitung mit Statuscode 301 durch ein PHP-Programm gezeigt: <?php
header("HTTP/1.1 301 Moved Permanently");
header("location: http://example.org/");
exit;
?>
Ohne spezifizierte Angabe eines Statuscodes, wird in PHP der 302 Statuscode verwendet. Beispiel: <?php
header("location: http://example.org/");
exit;
?>
Umsetzung via Rewrite-RegelFür Nutzer eines Apache-Webservers, die keinen Zugriff auf die Serverkonfiguration haben, bei denen dennoch .htaccess aktiviert ist, ist es möglich, die Weiterleitung der Domain via .htaccess vorzunehmen. Eine .htaccess-Datei wird bei dieser Art von Weiterleitung mit Punkt und Endung in das Root-Verzeichnis des jeweiligen Webspace eingefügt. Um permanent (vgl. 301-Redirect) jede Anfrage an z. B. RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.net$ [NC]
RewriteRule ^(.*)$ http://www.example.net/$1 [R=301,L]
Wer umgekehrt von der Subdomain RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.net$ [NC]
RewriteRule ^(.*) http://example.net/$1 [R=301,L]
Weiterleitung per HTML-Meta-TagHTML erlaubt eine Weiterleitung per Meta-Tag, Meta Refresh genannt. Dabei wird der Webbrowser angewiesen, die Seite nach vorgegebener Zeit zu aktualisieren oder eine andere URL zu laden. Mit folgendem Befehl in dem Kopfbereich der HTML-Datei setzt man eine Weiterleitung per Meta Refresh: <meta http-equiv="refresh" content="5; URL=http://www.example.org">
Hier bei wird man nach 5 Sekunden auf die URL Diese Art der Weiterleitung wird vom W3C-Konsortium allerdings nicht empfohlen, und zwar aus folgenden Gründen: Erstens wird die Seite, auf der sich die Meta-Angabe zur Weiterleitung befindet, komplett geladen, sodass sie komplett einsehbar ist. Zweitens wird der Benutzer, wenn er nach erfolgreicher Weiterleitung auf den Zurück-Button klickt, sofort wieder weitergeleitet.[5] Weiterleitung in Form von FramesIn HTML kann man sogenannte Frames verwenden, um den Inhalt anderer Webseite eingebettet anzuzeigen. Hierbei handelt es sich um eine Art Rahmen, in dem mehrere Webseiten (HTML-Dokumente) dargestellt werden können. In der Adresszeile des Browsers bleibt die ursprüngliche URL weiterhin sichtbar. Dabei gibt es auch die Möglichkeit Inhalte von fremden Webseiten einzubinden, ohne sie von ihrer Ursprungsseite entfernen zu müssen, indem man einfach die Seite als Frame einbindet (z. B. einen Wikipedia-Artikel). Allerdings gibt es zurzeit noch keine einheitliche Regelung, ob das Einbinden fremder Webseiten verboten ist oder nicht. Weiterleitung per JavaScriptPer JavaScript ist es möglich, den Webbrowser anzuweisen, zu einer bestimmten URL zu navigieren. Beispiel: <script type="text/javascript">
window.location.href = "http://www.example.org/";
</script>
Weiterleitungen in WikisBei MediaWiki können Weiterleitungen angelegt werden. In diesem Fall enthält der Artikel keinen Inhalt, sondern nur die Anweisung der Weiterleitung auf eine andere Artikelseite. Im Unterschied zu den vorangegangenen Beispielen erfolgt dabei die Weiterleitung intern über die Wiki-Engine und nicht über den Browser. Mit folgendem Befehl setzt man eine interne Weiterleitung in einem Mediawiki-Artikel: #WEITERLEITUNG [[Hauptseite]]
Statt Hierbei wird man beim Aufruf der Seite auf die Hauptseite des betroffenen Wikis weitergeleitet.[6] Siehe auchEinzelnachweise
|