ApacheでPC、携帯分岐

★★今回やりたいこと★★

http://www.●●.com/index.html
へアクセスしてきたとき、

PCならば、 => http://www.●●.com/index.html
携帯ならば、 => http://www.●●.com/i/index.html

と言うように分岐したいとき、
普段はPHPなどを利用していたが、携帯でhttp://www.●●.com/index.htmlへ直接アクセスしてきたとき、
困るのでWebサーバー(Apache)で分岐する。


やりたいことは、

1.http://www.●●.com/index.html に携帯でアクセスしてきたときに、http://www.●●.com/i/index.html に飛ばしたい。

2.http://www.●●.com/i/index.html にPCでアクセスしてきたときに、http://www.●●.com/index.html に飛ばしたい。

の2点である。


★★方法★★
mod_rewriteインスコされている場合です

1の対処

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} DoCoMo
RewriteRule ^$ /i/ [R]
RewriteCond %{HTTP_USER_AGENT} J-PHONE
RewriteRule ^$ /i/ [R]
RewriteCond %{HTTP_USER_AGENT} Vodafone
RewriteRule ^$ /i/ [R]
RewriteCond %{HTTP_USER_AGENT} SoftBank
RewriteRule ^$ /i/ [R]
RewriteCond %{HTTP_USER_AGENT} ASTEL
RewriteRule ^$ /i/ [R]
RewriteCond %{HTTP_USER_AGENT} UP.Browser
RewriteRule ^$ /i/ [R]

が書いてある .htaccess
http://www.●●.com/index.html のファイルが置いてある階層に設置。


2対処

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !(DoCoMo|J-PHONE|Vodafone|ASTEL|UP.Browser|SoftBank)
RewriteRule ^$ / [R]

が書いてある .htaccess
http://www.●●.com/i/index.html のファイルが置いてある階層に設置。


これでよい。