* mod_rewriteを使った携帯ブラウザの振り分け [#pcf5745a]
携帯ブラウザからのアクセスをキャリアごとにリダイレクトするmod_rewriteの設定を示す。以下が設定上のポイントである。
- RewriteRuleの書き換え前の文字列にはクエリストリングは含まれない。
- クエリストリングを条件にするには、RewriteCond? %{QUERY_STRING} を使う。
- クエリストリングは書き換え後の文字列に自動的に付加される。
- 書き換え後の文字列に任意のクエリストリングを設定したい場合は、[QSA]フラグを付ける。
RewriteEngine On
# VODA
RewriteCond %{HTTP_USER_AGENT} ^J-PHONE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Vodafone [OR]
RewriteCond %{HTTP_USER_AGENT} ^SoftBank [OR]
RewriteCond %{HTTP_USER_AGENT} ^MOT-C [OR]
RewriteCond %{HTTP_USER_AGENT} ^MOT-V
RewriteRule ^/(.*)$ http://foo.com/?id=test&c=v [R,QSA]
# AU
RewriteCond %{HTTP_USER_AGENT} ^KDDI- [OR]
RewriteCond %{HTTP_USER_AGENT} ^UP\.Browser
RewriteRule ^/(.*)$ http://foo.com/?id=test&c=a [R,QSA]
# DOCOMO
RewriteCond %{HTTP_USER_AGENT} ^DoCoMo
RewriteRule ^/(.*)$ http://foo.com/?id=test&c=d [R,QSA]