ようへいの日々精進XP

よかろうもん

mod_mruby でユーザーエージェントを判断してアクセス先を振り分けてみる(2)

引き続き

前回の記事を書いた後、速攻で @matsumotory さんからご連絡頂いた。ハヤっ!

マジ有り難い。


修正について

こちらのように利用する mrbgem を mruby-hs-regexp から mruby-onig-regexp に変更されていた。


試す

あらためてビルド

git pull してきて sh build.sh && make install する。

hook スクリプトを修正

前回のスクリプトを以下のように修正した。

--- rewrite.rb.bk       2014-03-01 10:03:58.723164205 +0000
+++ rewrite.rb  2014-03-01 10:06:28.439159513 +0000
@@ -9,9 +9,9 @@
   Apache.return(Apache::OK)
 end
 #
-if agent.include?("Mac") then
+if /iPhone|iPad|iPod/ =~ agent then
   go_redirect("/iphone.html")
-elsif agent.include?("Android") then
+elsif /Android/ =~ agent then
   go_redirect("/android.html")
 else
   Apache.return(Apache::DECLINED)

お馴染み(個人的な見解)の書き方で条件を指定出来るようになった。

ユーザーエージェント iPhone でアクセス

ユーザーエージェントが iPhone のクライアントからアクセスすると...

f:id:inokara:20140301193104p:plain

おお。

動画で動作確認

画像だけだとイマイチ伝わりにくいので...

User Agent Switcher でユーザーエージェントを切り替えながら動作確認している図。


最後に

  • 正規表現が利用出来ることが確認出来たので引き続き色々な条件を試していきたい