.htaccessで、ユーザーエージェント判別によるスマホサイトへのリダイレクト

一つのサイトで、スマホ、PCのリダイレクト設定の中でスマホのあるページだけPCページを表示する制御を行いましたが、そもそも、いつも都度検索して設定していたので基本部分は、メモしておこうかと思いました。

.htaccessの内容

下記の設定だと、スマホからのアクセス時には/sp/にリダイレクトして、クエリにmode=pcが指定されている時はPCページを表示するようになります。
iPad とAndroid タブレットはPC扱いにしています。

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !(^/sp/.*$)
RewriteCond %{HTTP_USER_AGENT} (iPhone|iPod|Android.*Mobile|BlackBerry|Windows.Phone) [NC]
RewriteCond %{HTTP_USER_AGENT} !iPad [NC]
RewriteCond %{QUERY_STRING} !mode=pc
RewriteRule ^(.*)$ /sp/$1 [R=302,L]

Androidについては「Mobile」の文字列でも判断するようにしているのがポイントで、この指定が無いとAndroidタブレットの方もリダイレクトされてしまいます。

(Visited 715 times, 1 visits today)