itZone

»Themenforum

Mit dem PC arbeiten

Webseiten gestalten

Programmieren

Über mich

Wiki

WebmasterZone > Weiter Leitung
Index | Hilfe | Suche:

Warum weiterleiten?

Manchmal will man die Seitenstruktur neu aufbauen, z.B. in Kategorien unterteilen oder ein Wiki einrichten. Dann sind die Seiten unter der alten Adresse nicht mehr erreichbar. Vielleicht sind sie aber schon in einer Suchmaschine eingetragen oder jemand hat sie als Bookmark gespeichert. Dann kann unter der alten Adresse eine Weiterleitung auf die neue Seite eingerichtet werden, damit sie trotzdem gefunden wird.

Oft haben in ContentManagementSystemen, Fotoalben etc. die Seiten eine lange Adresse (URL) - z.B. meine Kontaktseite: http://www.uudo.de/wiki/index.php?p=Main/KontaktInfos. Diese Adresse kann sich niemand merken. Ich will, dass die Seite unter der Adresse http://www.uudo.de/kontakt erreichbar ist.

Serverseitige Weiterleitung

htaccess

Du kannst mit einem Text Editor eine Datei namens ".htaccess" anlegen (Details unter Htaccess Steuerung), die du dann im ASCII Modus ins Stammverzeichnis des Webservers hochlädst (vorausgesetzt das ist ein APACHE Server, was bei den meisten WebspaceAnbietern der Fall ist). In der Datei trägst du so etwas ein:

 Redirect permanent /kontakt/ http://www.uudo.de/wiki/index.php?p=Main/KontaktInfos

Du kannst auch mit Regular Expressions arbeiten, der Befehl lautet dann etwa so:

 RedirectMatch permanent /fotos/([^\.]+) /forum/modules/gallery/$1

mod_rewrite

Das Apache-Modul kann Teile von URLs nach bestimmten Regeln erkennen und austauschen. Die Möglichkeiten sind sehr mächtig, wenn man die Regeln der Regular Expressions beherrscht.

Zunächst müssen in der HtaccessSteuerungsdatei (.htaccess) folgende Zeilen hinzugefügt werden, die das mod_rewrite Modul einschalten:

 RewriteEngine on
 RewriteBase /
 Options +FollowSymlinks

Dann folgen die Anweisungen für die URL-Umschreibung. Die Zeichen ^ und $ stehen für Anfang und Ende der eingegebenen URL. Wenn ich die URL »www.uudo.de/fotos/Albumname in »www.uudo.de/forum/modules/gallery?album=Albumname&mode=show umwandeln will, schreibe ich:

 RewriteRule ^fotos/([^\.]+)$
 /forum/modules/gallery?album=$1&mode=show

Mit PHP

 <?php
 header("Location: http://www.example.com/");
 header("Status: 301");
 exit();
 ?>

Die URL muss immer absolut angegeben werden, also mit der Domain. Diese kann auch duch eine Funktion abgefragt werden:

 header("Location: http://" . $_SERVER["HTTP_HOST"] . "/");

Clientseitige Weiterleitung

Weiterleitung per meta-Element

Mit der Auto Refresh Funktion, die im Header des HTML-Codes angegeben wird, kann der Browser veranlasst werden, nach einer angegebenen Zeit (hier 5 Sec.) eine andere Seite zu laden.

 <meta http-equiv="refresh" content="5; url=http://www.example.com/">

Dies funktioniert aber nur in aktuellen Browsern, und es kann vom Benutzer abgestellt werden. Deshalb sollte man auf jeden Fall noch im Text der HTML-Seite den Link angeben, falls die Weiterleitung nicht funktioniert.

 <body>
 
    <a href="http://www.example.com/">hier</a> clicken!</p>
 </body>

Ausführliche Infos:

Powered by PmWiki 2.1 Impressum | Letze Änderung: 11.10.2006 Historie | Editieren