前回JavascriptによるUserAgent判別という記事を書いたけれども、
今回はガラケーの振り分けも行わないといけないとのこと。
ガラケーではjsは使えないし、phpを使わないサイトであるので、
.htaccessを使って振り分けをしようと思った。
ということで書いたものはこんな感じ。
ちなみに今回のサイト構成は下記のような感じ。
hogehoge.com/test/
hogehoge.com
∟hogehoge.com/m/
∟hogehoge.com/m/test/
∟hogehoge.com/sp/
∟hogehoge.com/sp/test/
hogehoge.com上におく.htaccess
SetEnvIf User-Agent "DoCoMo" UA=mobile SetEnvIf User-Agent "UP\.Brower" UA=mobile SetEnvIf User-Agent "KDDI-" UA=mobile SetEnvIf User-Agent "J-PHONE" UA=mobile SetEnvIf User-Agent "Vodafone" UA=mobile SetEnvIf User-Agent "SoftBank" UA=mobile SetEnvIf User-Agent "emobile" UA=mobile SetEnvIf User-Agent "WILLCOM" UA=mobile SetEnvIf User-Agent "DDIPOCKET" UA=mobile SetEnvIf User-Agent "iPhone" UA=sp SetEnvIf User-Agent "Android" UA=sp RewriteEngine On # Redirect if mobile RewriteCond %{REQUEST_URI} !^/m.* RewriteCond %{ENV:UA} ^mobile$ RewriteRule ^(.*)$ /m/$1 [R,L] # Redirect if smart phone RewriteCond %{REQUEST_URI} !^/sp.* RewriteCond %{ENV:UA} ^sp$ RewriteRule ^(.*)$ /sp/$1 [R,L]
hogehoge.com/m/上におく.htaccess
RewriteEngine On # Redirect if pc RewriteCond %{ENV:UA} !^mobile$ RewriteCond %{ENV:UA} !^sp$ RewriteRule ^(.*)$ /$1 [R,L] # Redirect if smart phone RewriteCond %{ENV:UA} ^sp$ RewriteRule ^(.*)$ /sp/$1 [R,L]
hogehoge.com/sp/上におく.htaccess
RewriteEngine On # Redirect if pc RewriteCond %{ENV:UA} !^mobile$ RewriteCond %{ENV:UA} !^sp$ RewriteRule ^(.*)$ /$1 [R,L] # Redirect if mobile RewriteCond %{ENV:UA} ^mobile$ RewriteRule ^(.*)$ /m/$1 [R,L]
こんな感じであればhogehoge.comにアクセスした際に、
スマフォだったらhogehoge.com/sp/
ガラケーだったらhogehoge.com/m/に飛ぶ。
ちなみにhogehoge.com/test/にアクセスした際に、
スマフォだったらhogehoge.com/sp/test/
ガラケーだったらhogehoge.com/m/test/に飛ぶ。
参考にさせていただいたサイト↓
.htaccess だけで簡単キャリア判定してみる | バシャログ。
0 件のコメント:
コメントを投稿