Browserweiche

webbastler

Ensign
Registriert
Mai 2008
Beiträge
199
Hallo Leute.
Ich habe eine Website und möchte, dass mobile Geräte wie
das iPhone auf eine Subdomain umgelenkt werden.

Man kann das ja bekanntlich mit CSS lösen (will ich nicht) ,d.h. ein extra Stylesheet fürs iPhone basteln; damit bleibt das (X)HTML aber unverändert.

Nach dem Durchforsten von Google, Blogs und Co. bin ich dann
auf eine Javascript und eine PHP-Variante gestoßen:


Ermittlung des User-Agents und dann Weiterleitung (PHP):
Code:
$useragent = $_SERVER[’HTTP_USER_AGENT’];
if (preg_match(”/(?:iPod|iPhone)/i”,$useragent)) {
header( ‘Location: http://www.seite1.de‘ );
} else {
header( ‘Location: http://www.seite2.de‘ );
}
funktioniert bei mir aber irgendwie nicht... :(


JavaScript:
Code:
<SCRIPT LANGUAGE=JavaScript>
<!--
function weiter()
{
if
((navigator.appName=="Microsoft Internet Explorer")&&(navigator.appVersion.charAt(0)>=4))
window.location.href="msie.htm"
}// -->
</SCRIPT>
geht auch nicht... weiß aber auch nicht wie man das fürs iPhone anpasst...:(


Könnt ihr mir helfen ?

EDIT: Bin auf dieser Seite gelandet:
http://blogs.oreilly.com/iphone/2008/11/redirecting-your-website-to-an.html
Bei dem Autor funzt alles aber bei mir gehts nicht:

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
</head>
<script type="text/javascript" src="js/webkit_version_xl.js"></script>
<body>
<script language="JavaScript" type="text/javascript">
<!--
      var version = get_webkit_version();
            
      var iPhone_regex = /iPhone|iPod/;
      var result = version['browser'].search(iPhone_regex);
      
      if (result != -1) {
        window.location = "http://www.rinkatlas.com/iphone";
      }
// -->
    </script> 
</body>
</html>
 
Zuletzt bearbeitet:
Probiers nochmal hiermit:

PHP:
$useragent = $_SERVER['HTTP_USER_AGENT'];
if (preg_match("/(?:iPod|iPhone)/i",$useragent)) {
header('Location: http://www.seite1.de');
} else {
header('Location: http://www.seite2.de');
}
 
Mit deinem Code geht zwar ne Weiterleitung,
allerdings schlägt die auch bei Desktop Browsern an.

Habe nach ewigem Suchen das hier gefunden und es funktioniert: :cool_alt:
Code:
<<?php
if(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPod'))  
{
	header('Location: http://example.com');
	 exit();
}
?>

(habe noch Android eingebaut...)

Trotzdem Danke an Tou und alle,
die sich meinen Haufen Code durchgelesen haben ;)
 
Zuletzt bearbeitet:
Zurück
Oben