2008年5月23日金曜日

USER AGENTでケータイとPCの振り分け

アクセスしてきたPCとケータイをそれぞれのホストに振り分ける mod_rewrite の書き方

やりたいこと

PCサイト http://www.hoge.com
モバイルサイト http://mobile.hoge.com
PCサイト と モバイルサイトの(ホスト名以外)URLルールはおんなじ、という場合に、

PCサイトにやってきたモバイル君をモバイルサイトにリダイレクトさせたい。

具体的には

http://www.hoge.com/news/200805
というURLにやってきた ケータイ君を
http://mobile.hoge.com/news/200805
に流す。

逆に

http://mobile.hoge.com/news/200805
というURLにやってきた PC君を
http://www.hoge.com/news/200805
に流す。

.htaccess

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.hoge.com
RewriteCond %{HTTP_USER_AGENT} ^DoCoMo [OR]
RewriteCond %{HTTP_USER_AGENT} ^SoftBank [OR]
RewriteCond %{HTTP_USER_AGENT} ^Vodafone [OR]
RewriteCond %{HTTP_USER_AGENT} ^UP.Browser [OR]
RewriteCond %{HTTP_USER_AGENT} ^KDDI
RewriteRule ^(.*)$ http://mobile.hoge.com/$1 [R,L]

RewriteCond %{HTTP_HOST} ^mobile.hoge.com
RewriteCond %{HTTP_USER_AGENT} !^DoCoMo
RewriteCond %{HTTP_USER_AGENT} !^SoftBank
RewriteCond %{HTTP_USER_AGENT} !^Vodafone
RewriteCond %{HTTP_USER_AGENT} !^UP.Browser
RewriteCond %{HTTP_USER_AGENT} !^KDDI
RewriteRule ^(.*)$ http://www.hoge.com/$1 [R,L]

参考
mod_rewrite マニュアル
RewriteCond
RewriteRule

0 件のコメント: