2009年11月19日
ケータイとiPhoneからのアクセスを専用ページへ振り分ける!
- Posted by himania
- 21:37
- コメントする
- トラックバックする
- カテゴリー:blog
- タグ: htaccess , iPhone , MovableType , MT4i , ブログ , 携帯電話
当ブログ「ひまにあ日記」は、MovableType用携帯電話向け変換プログラム「MT4i」を利用してブログ記事を携帯電話向けに変換して表示するようにしているが、再開を機に「MT4i/3.0」にバージョンアップさせた。また再開を機に「iPhone」用のコンテンツ生成テンプレート「iPhoneテンプレートfor MT」を適用し、「iPhone」に適した表示ができるようにしてみた。まあ、単に私が「iPhone3G」を持っているので対応しただけだが。
「MT4i」も「iPhoneテンプレートfor MT」もそれぞれ専用のURLにアクセスする必要があるが、「ひまにあ日記」では以前よりブログを設置しているWebサーバー(Apache)の設定で携帯電話/PHSからのアクセスを自動的に「MT4i」へ振り分けるようにしていた(→関連記事「ケータイでブログ!その5」など)。今回、新たに「iPhone」と「iPod Touch」からのアクセスを「iPhoneテンプレートfor MT」へ振り分ける設定も追加してみた。
実は今まで公開していた振り分け設定(.htaccessファイル)は少々「鈍くさい」書き方だったので、(何度もしつこいが)再開を機に新たに書き直してみた。といっても、まだ「鈍くさい」かもしれないが、個人的には以前よりスッキリしたと思う。
BrowserMatch ^DoCoMo output=mt4i BrowserMatch ^KDDI output=mt4i BrowserMatch ^UP.Browser output=mt4i BrowserMatch Vodafone output=mt4i BrowserMatch J-PHONE output=mt4i BrowserMatch SoftBank output=mt4i BrowserMatch WILLCOM output=mt4i BrowserMatch DDIPOCKET output=mt4i BrowserMatch iPod output=iphone BrowserMatch iPhone output=iphone
RewriteEngine On RewriteCond %{ENV:output} ^iphone$ RewriteRule “iPhone用ページへリダイレクト(1)” RewriteCond %{ENV:output} ^iphone$ RewriteRule “iPhone用ページへリダイレクト(2)” RewriteCond %{ENV:output} ^mt4i$ RewriteRule “MT4iのCGIへリダイレクト(1)” RewriteCond %{ENV:output} ^mt4i$ RewriteRule “MT4iのCGIへリダイレクト(2)”
要は、「BrowserMatch」でアクセス元(ブラウザ)の種類を識別して変数を設定し、「RewriteCond」で変数を判定し、「RewriteRule」でリダイレクトしている。ブラウザがケータイの場合は変数に「mt4i」、iPhoneの場合は「iphone」を設定し、変数の値が「iphone」ならば「iPhone用ページ」、「mt4i」ならば「MT4iのCGI」のURLへリダイレクトするわけだ。
以前の設定では、ブラウザ識別を「RewriteCond」の「OR結合」で行っていたが、リダイレクトルール(RewriteRule)を増やす度にブラウザ識別用の「RewriteCond」をズラズラと書く必要があり、スマートではない。iPhone用のリダイレクトルールも追加すると、さらに「RewriteCond」に記述(条件式)が増えて収拾がつかなくなるので、「BrowserMatch」でブラウザを識別・変数設定しておき、「RewriteCond」では変数チェックを行うだけにした。こうすると上記のように「変数判定記述のRewriteCond」と「リダイレクトルール記述のRewriteRule」のペアを増やすだけで済む。
まあ、以前は「RewriteCond」で変数(環境変数)を参照できると知らなかったので、苦肉の策で「RewriteCond」を組み合わせて力業で振り分けていただけで、今回の設定が一般的には常道なのだろう。
なお、見れば分かるが、今回の設定はあくまでも一例であり、“MT4iのCGIへリダイレクト(1)”などの記述をページ振り分けをしたいブログの環境により書き直す必要がある。当然、「ひまにあ日記」での実際の設定は、リダイレクトのルールをキチンと記述してある。
.htaccess の作成場所も環境によって変わるので注意する必要がある。例えば、既に.htaccessファイルが存在する場合は、設定置き換えではなく、追記すべきである。.htaccessファイルの設定はWebサーバの挙動を変えてしまうので、もし万が一、今回の記事を参考にされる場合は、自己責任での利用をお願いしたい。.htaccessファイルを作る場所や設定内容を間違えると、ブログを含めたサイトへの正常なアクセスができなくなるなどの困ったことになるので。
- ケータイでブログ!その5(2007年1月14日)
- 個別記事の振り分けを考慮してみる ?ケータイでブログ!その3(2006年1月14日)
Trackback on "ケータイとiPhoneからのアクセスを専用ページへ振り分ける!"
このエントリーのトラックバックURL:
"ケータイとiPhoneからのアクセスを専用ページへ振り分ける!"へのトラックバックはまだありません。
"ケータイとiPhoneからのアクセスを専用ページへ振り分ける!"へのコメントはまだありません。