PDA erkennen und auf andere Adresse weiterleiten

Liebe Leute,
ich möchte gerne, dass meine Homepage PDAs erkennt und diese auf eine
andere (für PDAs optimierte Seite) weiterleitet, so wie dies bei
Google der Fall ist. Dabei möchte ich aber nicht nur eine andere
CSS-Datei verwenden, vielmehr soll eine Abfrage mit anschließender
Weiterleitung erfolgen.

Hier: http://aktuell.de.selfhtml.org/artikel/css/mobile-en… …konnte ich mich schon ein bisschen einlesen, aber auch dort ist
nicht beschrieben, wie ich auf eine komplett andere Seite
weiterleiten kann.

Hat jemand einen Tipp?

Ist PHP verfügbar? owT
.

Ja, PHP ist verfügbar.

Gut.

Dann nimmst du erst mal die check_mobile.php von http://aktuell.de.selfhtml.org/artikel/css/mobile-en… und legst sie auf deinen Server:

<?php function check_mobile() {
$agents = array( 'Windows CE', 'Pocket', 'Mobile', 'Portable', 'Smartphone', 'SDA', 'PDA', 'Handheld', 'Symbian', 'WAP', 'Palm', 'Avantgo', 'cHTML', 'BlackBerry', 'Opera Mini', 'Nokia' ); // Prüfen der Browserkennung for ($i=0; $i if(isset($\_SERVER["HTTP\_USER\_AGENT"]) && strpos($\_SERVER["HTTP\_USER\_AGENT"], $agents[$i]) !== false) return true; } return false; } ?\> Dann heißt es weiter auf der SelfHTML-Seite: _Einbinden der Funktion An den Anfang jeder Seite des Webangebots stellen wir den Aufruf der externen Funktion: <?php require('check_mobile.php');
$style = ''; if(check\_mobile()) $style = 'handheld'; ?\>_ Diesen Code änderst du folgendermaßen um: <?php require('check_mobile.php');
if (check\_mobile()) { header("Location: http://www.example.com/handheld/"); exit; } ?\> Dann fügst du den Code wie angegeben in alle HTML-Dokumente auf deinem Server ein, die direkt aufgerufen werden (also z.B. nicht in Frame-Inhalte). Außerdem musst du jene Dateien in .php umbenennen, da der Code sonst nicht ausgeführt wird. Um Computernutzer, die sich auf handheld-Seiten verirren, zurückzuleiten, kannst du folgenden Code verwenden: <?php require('check_mobile.php');
if (!check\_mobile()) { header("Location: http://www.example.com/"); exit; } ?\> Ganz wichtig ist, dass die Umleitungsadresse vollständig ist. Wenn die Seite mit dem Code nicht im selben Verzeichnis wie die check\_mobile.php liegt, musst du auch das Verzeichnis mit angeben, z.B. '../../check\_mobile.php' für zwei Verzeichnisse aufwärts. Johannes Matschke

Funktioniert wunderbar - herzlichen Dank!

Funktioniert wunderbar - herzlichen Dank!

Jetzt ist mir allerdings ein gravierender Fehler aufgefallen: Die Seite wird über ein Content Management System gesteuert. Wenn ich die Mobil-Seite über meinen PC im CMS bearbeiten will, werde ich nun automatisch auf die Desktop-PC-Version umgeleitet.

Hast du da noch einen Tipp? Im Notfall muss ich die letztere Umleitung halt wieder rausnehmen - oder zumindest für die Zeit der Bearbeitung. Wenn es denn keine andere Lösung gibt…

Wenn ich die Mobil-Seite über meinen PC im CMS bearbeiten
will, werde ich nun automatisch auf die Desktop-PC-Version
umgeleitet.

So solls doch sein :wink:

Hast du da noch einen Tipp? Im Notfall muss ich die letztere
Umleitung halt wieder rausnehmen - oder zumindest für die Zeit
der Bearbeitung. Wenn es denn keine andere Lösung gibt…

da ich dein cms nicht kenne, kann ich dir da keinen rat geben.