モバイルサイトへの自動転送 mod_rewrite

ブログを久しぶりにメンテして、モバイル向けサイトを作ってみました。デバイスの画面サイズ等に応じてデザインが調整されるレスポンシブルデザインとなっています。
構築にあたってはこのブログのContent Management SystemであるMovableType 2.661(かなり古いです、2004年!)を変えることなく、jQuery Mobileを使って構築してみました。結構工夫をこらしてみましたが、その話はおいおいしていくことにして、今回の記事ではモバイルサイトへの自動転送の方法を書いてみようと思います。

自動転送を行うにあたってはとても一般的なapache mod_rewriteというURL書き換えモジュールを使っています。僕がやりたかったのは、モバイルデバイスがもしPCサイトへアクセスしていたら、まずはモバイルサイトへ転送し、その後はユーザの指示にまかせるというものです。具体的には、いったんはモバイルサイトが表示されても、その後ユーザの指示でPCサイトへの移動、以降PCサイトにとどまり続けることが可能にしたい、というものです。

しかしネットを調べても、なかなか自分の思った通りの設定がありませんでしたので、以下に僕がした設定(.htaccess)を書いておきたいと思います。(現在モバイルサイトでは下記設定ファイルの情報が表示されないことがあると思います…されるようになりました)

注目すべきは、1度目だけモバイルデバイスかを判定し、以後はユーザの指示に従えるよう、セッションクッキーを使っているところです。17行目でセッションクッキーの有無の確認、42行目でセッションクッキーの発行をしています。その他、モバイル用ファイルがなかった場合は書き換えを行わないなどの細工も41行目にしてみました。

モバイルサイトも今後よろしくお願いいたします。

September 02, 2015 21:39 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク

コメント

コメントする