こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

phpのユーザーエージェントでの振り分け方法

phpのユーザーエージェントでの振り分け方法
質問お願いします。

phpのユーザーエージェントでの振り分け方法を調べまして

$ua = $_SERVER['HTTP_USER_AGENT'];

if ((strpos($ua, 'Android') !== false) && (strpos($ua, 'Mobile') !== false) || (strpos($ua, 'iPhone') !== false) || (strpos($ua, 'Windows Phone') !== false)) {
// スマートフォンからアクセスされた場合
header("Location: smartphone/index.html");
exit();

} elseif ((strpos($ua, 'Android') !== false) || (strpos($ua, 'iPad') !== false)) {
// タブレットからアクセスされた場合
header("Location: tablet/index.html");
exit();

} elseif ((strpos($ua, 'DoCoMo') !== false) || (strpos($ua, 'KDDI') !== false) || (strpos($ua, 'SoftBank') !== false) || (strpos($ua, 'Vodafone') !== false) || (strpos($ua, 'J-PHONE') !== false)) {
// 携帯からアクセスされた場合
header("Location: mobile/index.html");
exit();

} else {
// その他(PC)からアクセスされた場合
header("Location: pc/index.html");
exit();
}

とコピペで記入してスマホなどを振り分けています。

safari6とsafari7で見た時だけ
header("Location: tablet/index.html");
に振り分けたいのですが、どうしたらよいでしょうか?

素人ですいません。
宜しくお願い致します。

投稿日時 - 2014-05-20 16:48:09

QNo.8603313

困ってます

質問者が選んだベストアンサー

>上記のphpを記入しました所、グーグルクロームでもtablet/index.html
>に飛んでいってしまいました。

ChromeのUserAgentを確認してください。そうすれば

if ((stripos($ua, 'chrome') === false)&&((stripos($ua, 'safari/536') !== false)||(stripos($ua, 'safari/537') !== false))) {
header("Location: tablet/index.html");
exit;
}

でいいんじゃないかと推測できると思います。

投稿日時 - 2014-05-20 19:51:37

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

>safari6とsafari7で見た時だけ

Safari6、Safari7のUserAgentは調べられていますか?

<?php
$ua = $_SERVER['HTTP_USER_AGENT'];
if ((stripos($ua, 'safari/536') !== false)||(stripos($ua, 'safari/537') !== false)) {
header("Location: tablet/index.html");
exit;
}

だろうと思いますが・・・





#回答『も』コピペしました(汗

http://www.phppro.jp/qa/4306

投稿日時 - 2014-05-20 17:58:05

補足

shimix様、ご回答いただきましてありがとうございます。
上記のphpを記入しました所、グーグルクロームでもtablet/index.html
に飛んでいってしまいました。

もし可能であれば、
safari6とsafari7で見た時だけ
header("Location: tablet/index.html");
に振り分けたいのですが、申し訳ありませんが
宜しくお願いいたします。

投稿日時 - 2014-05-20 18:57:45

あなたにオススメの質問