同じURLで携帯電話とパソコンに転送先を分けたい時に使うphpコードです。
以下では、モバイルはdocomo、au、softbank。
パソコンはie、netscape、firefox、safari、chromeを対象に判別しています。
上記に該当しない場合は、パソコンとモバイルを自己選択するテキストを
htmlで表示しています。
変数$mbには、モバイルのURIを、変数$pcにはパソコンのURIを
入力すればスイッチャーとして利用できます。
間違いがありましたらコメントでご指摘をお願いします。
<?php
$mb = "";
$pc = "";
if(isset($_SERVER['HTTP_USER_AGENT'])){
$user_agent = $_SERVER['HTTP_USER_AGENT'];
if(eregi("DoCoMo",$user_agent)){
$what_agent = "MB-Docomo";
header("Location: $mb");
}elseif(eregi("UP\.Browser",$user_agent)){
$what_agent = "MB-Au";
header("Location: $mb");
}elseif(eregi("J-PHONE",$user_agent)){
$what_agent = "MB-Softbank";
header("Location: $mb");
}elseif(eregi("Vodafone",$user_agent)){
$what_agent = "MB-Softbank";
header("Location: $mb");
}elseif(eregi("SoftBank",$user_agent)){
$what_agent = "MB-Softbank";
header("Location: $mb");
}elseif(eregi("J-EMULATOR",$user_agent)){
$what_agent = "MB-Softbank";
header("Location: $mb");
}elseif(eregi("MSIE",$user_agent)){
$what_agent = "PC-IE";
header("Location: $pc");
}elseif(eregi("Netscape",$user_agent)){
$what_agent = "PC-Netscape";
header("Location: $pc");
}elseif(eregi("Opera",$user_agent)){
$what_agent = "PC-Opera";
header("Location: $pc");
}elseif(eregi("Firefox",$user_agent)){
$what_agent = "PC-Firefox";
header("Location: $pc");
}elseif(eregi("Chrome",$user_agent)){
$what_agent = "PC-Chrome";
header("Location: $pc");
}elseif(eregi("Safari",$user_agent)){
$what_agent = "PC-Safari";
header("Location: $pc");
}
}
print <<< END
<html>
<head>
<title>PC or MB</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
</head>
<body>
<a href="{$pc}">パソコンからのアクセスはこちら</a><br />
<a href="{$mb}">モバイルからのアクセスはこちら</a>
</body></html>
END;
?>