RenzSpace Free Style Blog

ユーザーエージェント振り分け

3月 10th, 2009 Author :: / Categories :: モバイルネタ / トラックバックURL / 1 Comment »

Twitt

モバイル制作を行っていてネックになってくるのが各キャリア毎の切り替え。

XHTML+CSSの仕様の違いや絵文字の違い等ですね。

この基本的な切り替え方法は色々な所に掲載されていますが、結構バグやら何やらで足りない点があるので、そこも含めまとめて紹介します。

僕の切り替え方法は.htaccessによる切り替え。(この方法が一番簡単かも)

テキストエディタに下記コードを記述します。

Options+FollowSymLinks
RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} DoCoMo
RewriteRule ^$ http://URL/docomo/ [R=302,L]

RewriteCond %{HTTP_USER_AGENT} SoftBank
RewriteCond %{HTTP_USER_AGENT} VodafoneE
RewriteCond %{HTTP_USER_AGENT} J-PHONE
RewriteRule ^$ http://URL/softbank/ [R=302,L]

RewriteCond %{HTTP_USER_AGENT} UP.Browser
RewriteRule ^$ http://URL/au/ [R=302,L]

上記修正します。こっちの方が安全かも。↓

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} ^DoCoMo
RewriteRule ^$ DoCoMo用URL [R=302,L]

RewriteCond %{HTTP_USER_AGENT} ^KDDI [OR]
RewriteCond %{HTTP_USER_AGENT} ^UP.Browser
RewriteRule ^$ au用URL [R=302,L]

RewriteCond %{HTTP_USER_AGENT} ^J-PHONE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Vodafone [OR]
RewriteCond %{HTTP_USER_AGENT} ^MOT- [OR]
RewriteCond %{HTTP_USER_AGENT} ^SoftBank [OR]
RewriteRule ^$ SoftBank用URL [R=302,L]

</IfModule>

といった感じ。

それぞれのラストに[R-302,L]と記載してあるのが僕の中でのミソで、
この記述をしないとDoCoMoの一部の機種で、

「サイトが移動しました」
というメッセージがいちいち表示される

といった事を避けるためです。

さらに、注意点がひとつ。
どおやら、auの項目よりも、SoftBankの項目を上においた方が良いみたいです。UP.BrowserがSoftBankでも反応する機種があるとかで…
しかし、今回はサーバーの関係かなにか分からんが上記内容でないと、不具合が発生したので、順番は取り敢えず無視します。

まあ、自分の環境にあった並び替えを行うのが一番という事ですね。

他の方法で、phpやcgiでの振り分けもあるみたいですが、
それはここでは記述しません。

mixiチェック

3月 10th, 2009 Author :: / Categories :: モバイルネタ / トラックバックURL / 1 Comment »

One Response to “ユーザーエージェント振り分け”

コメントを残す