PC用とMB用のホームページを作ります。そのどちらでも同じURLで対応できる仕組みを教えてもらえますか。
例えば、
http://○○.jp このサイトがPCでクリックした際とMBでクリックした際にサイト表示が違う方法です。
具体的にお願いします。(こちら参照~)などは無しお願いします。ポイントあげません。
基本的にはリクエストの中のUSER_AGENTの値をチェックして、それぞれのページに飛ばしてあげればよいです。
どのプログラミング言語を利用されるのか書かれていませんので、具体的な方法についてはPHPと仮定して回答します(基本的な概念についてはどのプログラム言語でも同様です)。
次のような内容でindex.phpを作成します。携帯用のindex.htmlはmobileディレクトリの下、PC用のindex.htmlはPCディレクトリの下にあると仮定します。
<?php $i=$_SERVER['HTTP_USER_AGENT']; if (preg_match("/DoCoMo\//",$i) || preg_match("/UP\.Browser/",$i) || preg_match("/ASTEL\//",$i) || preg_match("/DDIPOCKET;/",$i) || preg_match("/J-PHONE\//",$i) || preg_match("/PDXGW\//",$i)) { header("Location: http://www.example.com/mobile/index.html"); } else { header("Location: http://www.example.com/pc/index.html"); } ?>
PHPのサーバー変数については下記を参照のこと。
PCやモバイル端末からサイトにアクセスすると、サイトを見た側がUserAgentという情報を提供します。
その中に含まれる内容からPC or モバイルを判断することでが出来ます。
※UserAgentの取得にはプログラミングの知識が必要です。
PHPでの例:
$useragent = $_SERVER['HTTP_USER_AGENT'] ;
$arr_agent = explode('/', $useragent);
$agentname = $arr_agent[0];
となり、DoCoMoからアクセスがあった場合は$agentnameの中に「DoCoMo」と入ります。
その他のキャリアだとJ-PHONE/Vodafone/UP.Browser/等が入ります。詳しくは以下をご覧下さい。
Vodafone:
http://developers.vodafone.jp/dp/tool_dl/web/useragent.php
DoCoMo:
http://www.nttdocomo.co.jp/english/p_s/i/spec/useragent.html
AU:
http://www.au.kddi.com/ezfactory/tec/spec/4_4.html
つまり、この$agentnameに入った文字列で表示させるアドレスを
振り分ければよいわけです。
振り分けの例:
$jumpurl = "/mobile/index.html";
if($agentname=='DoCoMo'){
header("Location: $jumpurl");
exit;
}
回答者 | 回答 | 受取 | ベストアンサー | 回答時間 | |
---|---|---|---|---|---|
1 | ratbeta | 132回 | 124回 | 9回 | 2006-07-14 21:26:43 |
2 | yoanium | 22回 | 20回 | 0回 | 2006-07-14 21:57:05 |
3 | shun262 | 95回 | 77回 | 3回 | 2006-07-14 22:00:23 |
コメント(0件)