アキラの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]
Trackback URL: http://akira-site.net/cgi-bin/mt/mt-tb.cgi/460
コメント
コメントを投稿
カテゴリ「その他」内の記事
サイト内検索
カテゴリ
- Linux
- Linux Tips [14]
- Linux ソフトウェア [3]
- Web技術
- (X)HTML/CSS [4]
- JavaScript [1]
- MovableType [7]
- その他 [3]
- 各種API [3]
- 各種ツール [4]
- Windows
- Win Tips [3]
- Win ソフトウェア [6]
- コネタ [7]
- プログラミング
- 機器 [4]