Umleitung/Weiterleitung

Beschreibung: URL Umleitung oder Weiterleitung auf Nicht-Forumindex.

Kategorie: Lexikon, Server, PHP und MySQL

Link zu diesem Artikel: Alles auswählen

[url=https://www.phpbb.de/kb/viewarticle?a=55&sid=2f4c217787e68f8c3087391b6f6e1ecb]Knowledge Base - Umleitung/Weiterleitung[/url]

Nutzer von Portalen möchten oftmals beim Aufruf der Domain nicht zum Forenindex sondern auf eine andere Seite (meistens Portal) weitergeleitet werden.

Variante 1 - .htaccess

Erstell eine Datei namens .htaccess* mit folgendem Inhalt

Code: Alles auswählen

DirectoryIndex index.php index.htm
Damit wird eine index.php vor der index.htm aufgerufen, wenn sich beide im selben Verzeichnis befinden. Gibt es nun eine portal.php oder start.php, die noch vor der index.php geöffnet werden soll, muss diese Datei hinzugefügt werden

Code: Alles auswählen

DirectoryIndex portal.php index.php index.htm
So können beliebige Dateien als Startdatei festgelegt werden.
Die .htaccess-Datei muss in den Forenroot (Forumshauptverzeichnis) kopiert werden (da, wo z.B. auch index.php, memberlist.php sind)

* Sollte es Probleme beim Erstellen der Datei geben (Fehlermeldungen unter Windows, etc.), empfiehlt es sich die Datei entweder als ".htaccess" zu speichern (mit Anführungszeichen), oder ihr einen ganz anderen Namen (ohne führenden Punkt) zu geben und sie erst auf dem Server nach dem Hochladen umzubenennen.

Variante 2 - Weiterleitung mit einer HTML-Datei

Es kann auch eine einfache HTML-Datei erstellt werden mit einem Hinweistext à la "Sie werden in 10 Sekunden weitergeleitet."
In diese HTML-Datei muss innerhalb der <head></head> Tags folgendes stehen:

Code: Alles auswählen

<meta http-equiv="refresh" content="10; url=URL_zur_Weiterleitung">
Die 10 nach content=" gibt hier die Sekunden bis zur Weiterleitung an. url= ist natürlich die URL, zu der weitergeleitet werden soll. Das kann ein relativer Pfad sein ( /portal.php) oder eine komplette URL.

Variante 3 - Weiterleitung mit einer PHP-Datei

Fast derselbe Effekt wie bei Variante 2, nur dass hier keine "Wartezeit" entsteht und der User sofort weitergeleitet wird.
Wir erstellen eine index.php (eine solche, die bei Aufruf der Domain als erstes geladen wird) mit folgendem Inhalt:

Code: Alles auswählen

<?
header("Location: URL_zur_Weiterleitung");
exit();
?>
Mehr muss diese Datei nicht enthalten. Auch hier kann wieder ein relativer Pfad oder eine URL verwendet werden.

Variante 4 - Weiterleitung mit einem Frameset

Diese Methode ist wahrlich nicht die beste und auch nur zu empfehlen, wenn die ersten 3 Varianten - aus welchen Gründen auch immer - nicht funktionieren.
Hier muss wieder eine index.html (eine solche, die bei Aufruf der Domain als erstes geladen wird) mit folgendem Inhalt erstellt werden:

Code: Alles auswählen

<html>
<head>
<title>Weiterleitung</title>
</head>
<frameset rows="100%,*" border=0 frameborder=0 framespacing=0>
<frame src="URL_zur_Weiterleitung" scrolling="auto" />
</frameset>
<body>
<h2>Ihr Browser unterstützt leider keine Frames!</h2>
</body>
</html>
Auch hier kann wieder ein relativer Pfad oder eine komplette URL angegeben werden.

Frames oder Framesets haben einige Tücken und Nachteile. Sie sind z.B. Suchmaschinen unfreundlich und Benutzer der Seite können keine Lesezeichen/Bookmarks auf einzelne Seiten setzen.