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

ホームページに関して。
PC用とMB用のホームページを作ります。そのどちらでも同じURLで対応できる仕組みを教えてもらえますか。
例えば、
http://○○.jp このサイトがPCでクリックした際とMBでクリックした際にサイト表示が違う方法です。
具体的にお願いします。(こちら参照?)などは無しお願いします。ポイントあげません。

●質問者: rrr3
●カテゴリ:ウェブ制作
✍キーワード:.jp http:// クリック サイト ホームページ
○ 状態 :終了
└ 回答数 : 2/5件

▽最新の回答へ

1 ● k6nch6n
●35ポイント

基本的にはリクエストの中の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のサーバー変数については下記を参照のこと。

http://us2.php.net/manual/ja/reserved.variables.php


2 ● kai324
●35ポイント

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;

}

関連質問


●質問をもっと探す●



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