.htaccessでスマートホン用のサイトに転送

Apatchのmod_rewriteを使ってスマートホン用のサイトにリダイレクトさせる方法をメモ。

MovableTypeのプラグインを組み込んでスマホ用のブログページを作りました。

PC用のブログはルートディレクトリの「blog」にあり、スマートホン用のブログは「blog」の中の「i」にあります。

ディレクトリ

 

スマートホンからアクセスを転送するため、「blog」ディレクトリに以下の内容で.htaccessを作成しました。

#スマホサイトにリダイレクト
RewriteEngine On
RewriteBase /blog
RewriteCond %{REQUEST_URI} !^/blog/i/.*$
RewriteCond %{REQUEST_URI} !^(.JPG|.jpg|.GIF|.gif|.PNG|.png) [NC]
RewriteCond %{HTTP_USER_AGENT} ^(iPhone|iPod|Android|BlackBerry|Windows.Phone) [NC]
RewriteCond %{HTTP_USER_AGENT} !iPad [NC]
RewriteRule ^(.*)$ /blog/i/$1 [R=301,L]

 

もし、スマホ用のディクレトリではない「blog」で、画像でなく、iPadを除くスマートホンからアクセスがあった場合は「i」にリダイレクトするという内容。

「i」ディレクトリには画像がないため、ブログ内の画像のソースやリンクまでリダイレクトされると画像が表示されず困るので、画像はリダイレクトしないように5行目を加えています。