ユーザーエージェントの取得方法があいまいですので、AndroidスマホとAndroidタブレットと混ざってしまっています。
- Androidスマホ :
Android.*Mobi
- Androidタブレット:
Android.*Tablet
ユーザーエージェントを下記のようにua_dev
にセットしておきます。そして[R]
でリダイレクトしたら処理を終了できるように[R,L]
とします。URLが変更になった時などのリダイレクトは[R=301]
とします。なにも書かなないと一時的なリダイレクト(302リダイレクト)となります。
また、RewriteCond
は上から順にAND
で結合します。今回はOR条件はありませんが、OR条件にしたい場合は行末に[OR]
と書きます。
条件は下記のように設定しています。
apache
1SetEnvIfNoCase User-Agent "iPhone" ua_dev=smart
2SetEnvIfNoCase User-Agent "iPod" ua_dev=smart
3SetEnvIfNoCase User-Agent "Android.*Mobi" ua_dev=smart
4SetEnvIfNoCase User-Agent "Windows Phone" ua_dev=smart
5SetEnvIfNoCase User-Agent "Mobi.*Firefox" ua_dev=smart
6SetEnvIfNoCase User-Agent "(Nexus 4|Nexus 5|Nexus 6)" ua_dev=smart
7SetEnvIfNoCase User-Agent "BlackBerry" ua_dev=smart
8
9RewriteEngine on
10
11RewriteCond %{ENV:ua_dev} ^smart
12RewriteCond %{REQUEST_URI} !^/sp/
13RewriteRule ^(.*)$ /sp/$1 [R,L]
14
15RewriteCond %{ENV:ua_dev} !^smart
16RewriteCond %{REQUEST_URI} ^/sp/
17RewriteRule ^sp/(.*)$ /$1 [R,L]