mod_rewriteを使った携帯ブラウザの振り分け

携帯ブラウザからのアクセスをキャリアごとにリダイレクトする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]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2007-05-31 (木) 10:05:03