PC用とiPhone用のサイトを切り替える.htaccess

このエントリーをはてなブックマークに追加

PC用のサイトにiPhoneでアクセスがあった場合にiPhone用のサイトに転送するというのはよくあるケースだと思います。更にiPhoneで「PC用」のボタンをクリックされた場合にPC用のサイトが閲覧できる.htaccessを考えてみました。

iPhoneからPC用のサイトへのリンクには「?mode=pc」というパラメーターをつけておきます。

RewriteCond %{HTTP_USER_AGENT} (iPhone|iPod) 
RewriteCond %{QUERY_STRING} !mode=pc 
RewriteRule ^/$ /iphone/ [R]

これでiPhoneで「?mode=pc」というパラメーターがない場合のみiPhone用のサイトに転送されます。

つまり、iPhoneで「http://bar.net」にアクセスがあった場合「http://bar.net/iphone/」に転送されますが「http://bar.net?mode=pc」の場合は転送されません。

関連エントリー

iPhone用CSSをメディアクエリで分岐する問題点
MTのコメントスパムをなくす.htaccess
htmlやhtmのファイル名でphpを実行する
errerページを作る!
お引越し

スポンサードリンク

«jQueryデザイン入門が紀伊國屋書店BookWebのランキングで1位に | メイン | [書評]iPhoneとツイッターで会社は儲かる»

このエントリーのトラックバックURL
http://blog.webcreativepark.net/cgi/mt/mt-bt.cgi/840
コメント

サイトトップページに、iPhoneで来たが、あえてiPhoneサイトではなく、PC版のほうが見たいという方も多いサイトの場合、Javascriptで(agentチェックでiPhoneユーザと判別の後)選ばせてあげるという手法もありだと思っています。
iPhoneサイトに来てから、やっぱりPCサイトのほうがいい、と言われて、そこからそのままトップページに帰してあげると、再び「どっちを選びますか」が起きてしまうので、そこは工夫のしどころだと思いますが……。

投稿者:T(NewComer) | 2010年7月15日 12:51

>T(NewComer)さん

そうですね。ここらへんはサイトの仕組みとして最適な手法をチョイスするのがよいと思います。

>再び「どっちを選びますか」が起きてしまうので

ここらへんはcookieやローカルストレージなどを利用して一度選んだら基本はそちらを表示するようにしておいたほうがよいかなと思います。どこまで考慮するかも微妙ですが・・・

投稿者:西畑一馬 | 2010年7月15日 14:07
コメントを投稿