ホーム > ネットワーク > Big-IP iRulesを使用して、スマホだけスマホ用ページにリダイレクトさせる

Big-IP iRulesを使用して、スマホだけスマホ用ページにリダイレクトさせる

2011 年 8 月 29 日 コメントをどうぞ コメント

crossroads of the world
Creative Commons License photo credit: Pleuntje

今回はBig-IPのiRuleを使って、Webページにアクセスしてきたスマホを別ページにリダイレクトさせてみる。

条件は下記の通り
1.PC用ページ「www.hoge.com」に”外部リンク”、”URL直叩き”、”お気に入り”からアクセスしたきたスマートフォンを「smartphone.hoge.com」にリダイレクトする
2.smartphone.hoge.comに「PC用ページはこちら」リンクを設けるため、hoge.comからのアクセスの場合はリダイレクトしない
3.できるだけ軽いコマンドを使用

てなわけで書いてみたiRuleがこちら


when HTTP_REQUEST {
set client_OS [HTTP::header User-Agent] #接続元のOS取得
set smartphone_url “http://smartphone.hoge.com” #リダイレクト先のURLを設定
set refer_host [string tolower [URI::host [HTTP::header Referer]]] #接続元のリファラを取得

#OS判定。OSの名前に
#「iPhone」「iPad」「iPodTouch」「Android」「Windows Phone」が入っていたらリファラの判定を行う
if { ($client_OS contains “iPhone”) or ($client_OS contains “iPad”) or ($client_OS contains “iPodTouch”) or ($client_OS contains “Android”) or ($client_OS contains “Windows Phone”) }
{
#リファラの中身を判定
switch -glob [string tolower [URI::host [HTTP::header Referer]]] {
#リファラに「*.hoge.com*」が含まれていたらリダイレクトしない
“*.hoge.com*” {
# Allow Request
}
#リファラがnullだったら、リダイレクト
“” {
HTTP::redirect $smartphone_url
}
#それ以外のリファラなら、リダイレクト
default {
HTTP::redirect $smartphone_url
}
}
}
}

こんな感じタブがずれて読みにくいのはご愛嬌。

これで何とかリダイレクトができました。
これを参考にした場合に起きた問題等には責任は持てません
あくまで自己責任で!

カテゴリー: ネットワーク タグ: ,
  1. コメントはまだありません。
  1. トラックバックはまだありません。