「.htaccess」でiPhone、アンドロイド(Android)からのアクセスを判別し、スマートフォン用ページを表示する


こんにちは。最近では、iPhoneやAndroidでWEBを閲覧する人も急激にふえてますねー。そして多くのサイトは、それらのスマートフォンからのアクセスがあった場合はスマートフォン専用のサイトに誘導するケースが増えてきました。
スマートフォンからのアクセスは別ページへジャンプさせる方法や、スマートフォン用のCSSを読み込ませてデザインだけ変える方法が主流だと思います。

携帯サイトの場合は、CSSが不十分なので別サイトを作って対応することが多かったのですが、スマートフォン(現在はiPhoneとAndroidがほとんど)はほぼフルでCSSが使えますし、CSS3、html5にもほぼ対応しているので、CSSの読み込みを変えるだけでもかなり対応できると思います。

でも、、今回は別ページを表示させるパターンが必要でしたので、備忘録として残します。
PC用サイトのトップディレクトリに「.htaccess」を設置して以下の記述を書くだけで任意のURLへジャンプさせることが出来ます。
下記の場合PC用のURLが「http://www.sample.com」のとき、スマートフォンでアクセスすると「http://www.sample.com/m/」が表示されます。
あとは、スマートフォン専用にガッツリコーディングすればよいだけですね!

RewriteEngine On

# iPod
RewriteCond %{HTTP_USER_AGENT} iPod
RewriteRule ^$ /m/ [R]

# iPhone
RewriteCond %{HTTP_USER_AGENT} iPhone
RewriteRule ^$ /m/ [R]

# iPad
RewriteCond %{HTTP_USER_AGENT} iPad
RewriteRule ^$ /m/ [R]

# Android
RewriteCond %{HTTP_USER_AGENT} Android
RewriteRule ^$ /m/ [R]