アキラのITメモ:携帯電話の振り分け方

IT関係、技術関係のメモです。

携帯電話の振り分け方

これまで携帯電話を振り分けるのに、CGIなどのプログラムを使って振り分けていたのですが、.htaccessのみで簡単に振り分けられることを知りました。どちらも一長一短があるとは思うのですが、両方を紹介しておきます。ちなみに携帯電話用のサイトは自分ひとりで作成したことがないのですが、結構面白そうなので手を出してみたいです。とりあえず、持ってるサイトのうち一部に携帯電話用のページを構築中な今日この頃です。

以下は、http://www.example.com/index.htmlがPC用のページ、http://www.example.com/m/index.htmlが携帯用のページだった場合に、http://www.example.com/にアクセスしてきた端末を自動でそれぞれのページに振り分ける方法です。いずれもhttp://www.example.com/以外にアクセスされた場合には振り分けられません。また、いずれもUserAgentから判別していますが、IPアドレスから判別することも可能です。UserAgentは比較的簡単に変えれることを考えると、厳密に携帯を振り分けたい場合はIPアドレスも合わせて使うほうが良いでしょう。各キャリアの端末が出すUserAgentとIPアドレス空間は以下で公開されているので参考にどうぞ。

  • DoCoMo http://www.nttdocomo.co.jp/service/imode/make/content/
  • au http://www.au.kddi.com/ezfactory/tec/
  • SoftBank http://developers.softbankmobile.co.jp/dp/

CGIによる振り分け方法

CGIによる振り分け方法を簡単に書きます。ここではUserAgentを見て振り分けていますが、IPアドレスを見て振り分けることも出来ます。振り分け用のコードは以下のように書けばいいでしょう。

#!/usr/bin/perl
$ua = $ENV{'HTTP_USER_AGENT'};
if ($ua =~ /DoCoMo|UP.Browser|J-PHONE|Vodafone|SoftBank/) {
  print "Location: http://www.example.com/m/index.html\n\n";
}
else {
  print "Location: http://www.example/index.html\n\n";
}

これをhttp://www.example.com/index.cgiなどに設置し、http://www.example.com/.htaccessに

DirectoryIndex index.cgi index.html 

とでも記述すれば完了です。

.htaccessによる振り分け方法

以下のように記述した.htaccessをhttp://www.example.com/.htaccessとしておいておくだけです。ただし、mod_rewriteが使えるサーバでないと使えません。こちらのほうが一つのファイルを追加するだけで良いので簡単ですね。

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} "DoCoMo" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "J-PHONE" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "Vodafone" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "SoftBank" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "KDDI" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "UP.Browser" [NC]
RewriteRule ^$ http://www.example.com/m/ [L] 

カテゴリ: その他 投稿日: 2007年02月10日 15:58
Trackback URL: http://akira-site.net/cgi-bin/mt/mt-tb.cgi/460

コメント

コメントを投稿





カテゴリ「その他」内の記事

サイト内検索

カテゴリ

最近のエントリ

関連商品

アバウト

Atom RSS
Powered by MT3.33-ja
合計:total
今日:today 昨日:yesterday