日曜日, 2 月 22nd, 2009 | Author: djodjo

いわゆる、携帯ブラウザをUser-Agentで判別する話。
各社User-Agentは公開しているので、それを参考にするといくつかの条件で判別ができるようになります。
コンテンツの振り分けは、各キャリアが提供する接続もとIPベースでもできますが、そこまで完璧に携帯だけに限定する必要も無ければこっちのほうが簡単だし、またキャリア側のIPが増えたりした際の対応が無いのがよい。(IP増えたことなんてどうやって気づくんだって話)
User-Agentが

DoCoMo
 「DoCoMo」で始まる。
au
 「KDDI」で始まる・・・・・・・HDML機種
 「UP.Browser」で始まる・・WAP機種
Softbank
 「Vodafone」を含む
 「J-PHONE」を含む
 「MOT」を含む
 「SoftBank」を含む
WILLCOME
 「WILLCOME」を含む
 「DDIPOCKET」を含む
となります。

なので、mod_rewriteの設定としては

BrowserMatch ^DoCoMo carrier=docomo
BrowserMatch ^KDDI carrier=au_hdml
BrowserMatch ^UP.Browser carrier=au_wap
BrowserMatch Vodafone icarrier=softbank
BrowserMatch J-PHONE carrier=softbank
BrowserMatch MOT- carrier=softbank
BrowserMatch SoftBank carrier=softbank
BrowserMatch WILLCOM carrier=willcom
BrowserMatch DDIPOCKET carrier=willcom

RewriteEngine On
RewriteCond %{ENV:carrier} ^(docomo|au_hdml|au_wap|softbank|willcom)$
RewriteRule ^/?$ リダイレクト先のURL [R]

で、さらにキャリア毎だったり、HDMLとWAP分けたりもRewriteCondをチョイチョイとすると

RewriteEngine On
RewriteCond %{ENV:carrier} ^(docomo|au_wap|softbank|willcom)$
RewriteRule ^/?$ リダイレクト先のURL [R]
RewriteCond %{ENV:carrier} ^(au_hdml)$
RewriteRule ^/?$ HDML用コンテンツリダイレクト先のURL [R]

以上

Category: 未分類
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Leave a Reply