- ベストアンサー
PCサイトと携帯版サイトを同一アドレスにして振り分けたい。
こんばんわ、初めて書き込みます。 ふらんごと申します。 今回ちょっと困ったことがありまして、、 HPアドレスをPCと携帯でわかりやすく統一したいのですが、 可能なのかどうか知りたいのです。 たまに携帯とPCのアドレスが一緒のサイト見かけますよね? 雑誌とかで。 たとえば、 「123.com」PC、携帯両方このアドでOK!みたいな。 あれって、ジャバスクリプト?か何かで分岐してるのでしょうか? 使い心地はいかがですか? 例外なくドコモやVF、au、PCと つまり、1つのアドレスから端末ごとに4つのサイトに 分岐したいのです。 ぜひともそのあたりのこと詳しく知りたいです。 どなたかぜひ、よろしくお願いします。 今後ともどうかよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
携帯かPCかによってページを切り替える場合は、 ユーザーエージェントやホスト名を使う他にIPアドレスの帯域によって分けたり出来ます。 以下、簡単ですがソースを書いておきます。 (1)最初にユーザーエージェントを取得しています。 (2)次に取得したユーザーエージェントの頭文字によって飛び先のページを分岐しています。 この場合、DoCoMoなら「D」 Vodafoneなら「J」か「V」 auなら「T」か「K」 です。 で、それ以外はPCと見なしています。 ******************************************* $array_agent = $HTTP_USER_AGENT; switch ( $array_agent[0] ) { case "D": /* DoCoMo */ header("Location:飛び先のURL"); break; case "J": /* Vodafone */ header("Location:飛び先のURL"); break; case "V": /* Vodafone */ header("Location:飛び先のURL"); break; case "K": /* au */ header("Location:飛び先のURL"); break; case "T": /* au */ header("Location:飛び先のURL"); break; default: /* PC */ header("Location:飛び先のURL"); break; } **********************************************
その他の回答 (1)
- rightegg
- ベストアンサー率41% (1357/3236)
こんばんは。 そういう場合は普通はcgi(perl又はphp)を使います。 JavaScriptでも同じ方法は使えますが、携帯ブラウザはJavaScriptに対応していないので無意味です。 具体的にはユーザーエージェントから判断する場合と、ホストから判定する場合があり、一般的にはユーザーエージェントからです。 *問題点としてはユーザーエージェントは偽装可能なので、疑似携帯ブラウザを使えばパソコンからでもアクセス出来る所(普通は気にしませんけどね)。 cgiが完成したら「index.cgi」として設置します。 サーバーの仕様にもよるのですが、大抵の場合はindex.htmlを置かなければ、自動的にindex.cgiを読み込みます。 一応、サンプルスクリプトを載せておきます。
お礼
こんなcgiがあったのですね! ありがとうございます。 もう少し自分でも調べてみて最善のものを選択したいと思います。 親切にありがとうございました!
補足
ありがとうございます! ぜひこちらのソースについてもっと詳しく知りたいのですが、 こちらはパールかphp?なのでしょうか? もうすこし詳しく設置方法を教えていただけたらありがたいのですが、、 よろしくお願いします。