September 02, 2015

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

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

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

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

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

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

21:39 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | この記事をdel.icio.usでブックマーク | トラックバック
このエントリーのトラックバックURL: http://fenrir.naruoka.org/mt/mt-tb.cgi/931
コメント
コメントする









名前、アドレスを登録しますか?
(次回以降コメント入力が楽になります)
  • 匿名でのコメントは受け付けておりません。
  • 名前(ハンドル名可)とメールアドレスは必ず入力してください。
  • メールアドレスを表示されたくないときはURLも必ず記入してください。
  • コメント欄でHTMLタグは使用できません。
  • コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
  • コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。