人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ウェブサイトを運営しています。

http://example.com/ にアクセスさせて、自動的に、
・PCブラウザからのアクセスか、携帯電話からのアクセスか
・使用言語は何か
で、振り分けたいです。

例えば、
PCブラウザからのアクセスで、ブラウザに設定されている言語が日本語であれば、
http://example.com/c/jp/
に飛ばすとか。

一番スマートな方法は何でしょうか? ご教示願います。

●質問者: jjkkjpjjkkjp
●カテゴリ:インターネット ウェブ制作
✍キーワード:pc アクセス ウェブサイト スマート ブラウザ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● palo
●27ポイント

ウェブサイトで使用できる言語によってちがいますが、たとえばPHPでしたら、

最初にアクセスしたページ(http://example.com/index.php)で、

下のように USER_AGENT を取得してブラウザや携帯電話のキャリアを判別します。

$user_agent = $_SERVER['HTTP_USER_AGENT'];

PEAR のライブラリを利用すると便利です。

(参考) Net_UserAgent_Mobile

http://pear.php.net/package/Net_UserAgent_Mobile

ユーザの言語は、ブラウザにセットされている言語を下のように取得します。

$browser_languages = explode(',', getenv('HTTP_ACCEPT_LANGUAGE'));

判定後に、振り分け先URLを決めて、下のようにリダイレクトします。

header('Location: ' . $url);


2 ● riricks
●27ポイント

PHPではいかがでしょうか。

$header = getallheaders();

$agent = $header["User-Agent"] ;

if(mb_ereg("DoCoMo",$agent)){

header("Location: http://xxxxxxx.com/m/index.html");

exit;

}


3 ● cuspos
●26ポイント

paroさんがおっしゃっているようにサーバー側で識別するのがスマートです。

プログラムの記述方法は言語によって多少ことなりますが、似たり寄ったりですので今回は省略します。


ここからは蛇足ですが、私だったら上記の判定結果に加えてアクセスしてきたクライアントのIPアドレスを判定基準に加えます。

理由は(クライアント側でjavascript等使って判別しないのと同じ理由)、useragent、acceptlanguage共にユーザー側で書き換え可能だからです。firefoxだったら以下のようなアドオンを追加するだけで可能です。

https://addons.mozilla.org/ja/firefox/addon/8519

https://addons.mozilla.org/ja/firefox/addon/59


また以下のページにあるような検索エンジン対応も考えて、モバイル用のページ:PC用のページをなるべく1:1になるように考えます。

http://googlewebmastercentral-ja.blogspot.com/2009/10/blog-post....

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ