mod_rewriteを使って携帯電話とかモバイルからのアクセスをリダイレクトさせる

Apachemod_rewriteをつかってケータイからアクセスがきたらユーザエージェントを判別して別のサイトへ飛ばす。
よくある設定だけど、まじめに書いたことなかったので調べつつやってみた。

DoCoMoのユーザエージェント

「作ろうiモードコンテンツ」リニューアルのお知らせ | サービス・機能 | NTTドコモ
「作ろうiモードコンテンツ」リニューアルのお知らせ | サービス・機能 | NTTドコモ

例:

DoCoMo/1.0/N501i
DoCoMo/1.0/F502i/c10
DoCoMo/1.0/D503i/c10/serNMAIA000001
DoCoMo/2.0 MST_v_SH2101V(c100)
DoCoMo/2.0 F2051(c100;TB;serXXXXXXXXXXXXXXX;iccxxxxxxxxxxxxxxxxxxxx)
DoCoMo/1.0/D505i/c20/TB/W20H10/serNMAIA000001
DoCoMo/2.0 SO906i(c100;TB;W24H18) 

auのユーザエージェント

404 Not Found
例:

KDDI-SA31 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0

J-PHONEVodafoneSoftBank


例:

J-PHONE/2.0/J-SH02
J-PHONE/4.2/V601N[/Serial] N/01000100 Profile/MIDP-1.0 Configuration/CLDC-1.0 Ext-Profile/JSCL-1.1.1
MOT-V980/80.2F.2E. MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1
Vodafone/1.0/V705SH/SHJ001[/Serial] Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
SoftBank/1.0/DM002SH/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1

※↑Motorola製3G携帯電話のユーザーエージェントはMOT-ではじまるみたい。

iPhoneiPod touch

iPhone 3G用のWebページを作る1 [Javascript] All About
例:

Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A345 Safari/525.20
Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1C28 Safari/419.3
Mozilla/5.0 (iPod; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A100a Safari/419.3
Mozilla/5.0 (iPod; U; CPU iPhone OS 2_0 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A347 Safari/525.20

WILLCOM

 は スペース

User-AgentMozilla/3.0(DDIPOCKET:メーカ/機種名/機種バージョン/搭載ブラウザバージョン/キャッシュ)ベースブラウザ
または、
User-AgentMozilla/3.0(WILLCOM:メーカ/機種名/機種バージョン/搭載ブラウザバージョン/キャッシュ)ベースブラウザ

以上をふまえて.htaccessで設定してみた。

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} DoCoMo [OR]
RewriteCond %{HTTP_USER_AGENT} UP\.Browser [OR]
RewriteCond %{HTTP_USER_AGENT} J-PHONE [OR]
RewriteCond %{HTTP_USER_AGENT} MOT- [OR]
RewriteCond %{HTTP_USER_AGENT} Vodafone [OR]
RewriteCond %{HTTP_USER_AGENT} SoftBank [OR]
RewriteCond %{HTTP_USER_AGENT} iPod [OR]
RewriteCond %{HTTP_USER_AGENT} iPhone [OR]
RewriteCond %{HTTP_USER_AGENT} DDIPOCKET [OR]
RewriteCond %{HTTP_USER_AGENT} WILLCOM

# サイト以下全部のディレクトリに対して効かせる
RewriteRule (.*) http://redirect.to/mobile/ [R=301,L]