GeneCodeサーバ上でUser-agentを判定できますか?

GeneCodeサーバ上でUser-agentを判定する方法はテンプレートの変換処理で判別する方法とApacheで判別する方法の2種類があります。

User-agentによって変換処理を分岐したい場合は、以下の様gc-scriptタグ内でUser-agentを判定します。

<gc-script>
var ua = gcutil.getHeader("User-Agent")||'';
if (ua.indexOf('MSIE 8.0') !== -1) {
        return;
}
</gc-script>

 

また、User-agentによってリダイレクトするかどうかなどサーバ設定の有効/無効を切り替えたいケースの場合は以下の様にApache設定でUser-agentを判定します。

# User-agent文字列がスマートフォンの場合は環境変数deviceにsmartphoneを設定します
BrowserMatch "(^MobileSafari|^Mozilla/5\.0 \((iPhone;|iPod;|iPod touch;|Linux; U; Android|Linux; Android|Android; Mobile))" device=smartphone
# 環境変数deviceがsmartphoneの場合はドメインをsp.example.comに変更したURLへリダイレクトする。
RewriteEngine on
RewriteCond %{ENV:device} ^smartphone$
RewriteRule ^/(.*) http://sp.example.com/$1 [R,L,NE]