mod_rewriteを使って携帯電話とかモバイルからのアクセスをリダイレクトさせる
Apacheのmod_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)
J-PHONE、Vodafone、SoftBank
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-ではじまるみたい。
iPhone、iPod 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-Agent Mozilla/3.0(DDIPOCKET:メーカ/機種名/機種バージョン/搭載ブラウザバージョン/キャッシュ)ベースブラウザ または、 User-Agent Mozilla/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]