前回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 件のコメント:
コメントを投稿