Tech Any*Any
Mac や Web のあんなこと、こんなこと。

携帯以外のブラウザをユーザーエージェントで判別してリダイレクトする htaccess の記述

2007/07/31

携帯サイトの閲覧を携帯ブラウザからのアクセスに限定したい場合、携帯以外のブラウザ (携帯のフルブラウザを除く) からアクセスをPCサイトなど別のサイトにリダイレクトします。リダイレクトする方法はいろいろありますが、.htaccess を使用すると手軽に実現できます。

携帯ブラウザかどうかは、IPアドレスやホスト名、ブラウザの User Agent (HTTP_USER_AGENT) で判別します。ここでは、エミュレーターでもリダイレクトしないように、User Agent による判別をした .htaccess の記述サンプルを紹介します。

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} !DoCoMo [NC]
RewriteCond %{HTTP_USER_AGENT} !KDDI [NC]
RewriteCond %{HTTP_USER_AGENT} !Up.Browser [NC]
RewriteCond %{HTTP_USER_AGENT} !Softbank [NC]
RewriteCond %{HTTP_USER_AGENT} !Vodafone [NC]
RewriteCond %{HTTP_USER_AGENT} !J-PHONE [NC]
RewriteCond %{HTTP_USER_AGENT} !DDIPOCKET [NC]
RewriteCond %{HTTP_USER_AGENT} !Nokia [NC]
RewriteCond %{HTTP_USER_AGENT} !MOT- [NC]
RewriteCond %{HTTP_USER_AGENT} !L-mode [NC]

RewriteRule ^(.*)$ http://xxx.xxx.xxx/$1 [R,L]

携帯以外のブラウザをユーザーエージェントで判別してリダイレクトする htaccess の記述には、2件のコメントがあります。

  1. hide より:

    はじめまして。
    とても参考になりました。ありがとうございます。
    1つ、教えて頂きたいのですが、ファイルまで指定する場合は、
    RewriteRule ^(.*)$ http://xxx.xxx/xxx/index.html $1 [R,L]
    というような感じでよろしのでしょうか?

    よろしくお願いします。

  2. hide より:

    おはようございます。
    ご丁寧なアドバイス、ありがとうございます。
    最後の $1 は、必要ないのですね。
    チャレンジしてみます。

コメントする