0

将 MoovWeb 用于大型电子商务客户端。他们希望阻止桌面用户访问移动网站。所以基本上,如果用户使用桌面浏览器并尝试访问 (m.site.com),他们将被重定向到 (site.com)。

必须在 Tritium 中执行此操作(很可能在 main.ts 的顶部附近),因为在 JS 运行时,我们将加载该站点两次(一次在 m 中。然后再次在 www 中。)

我很犹豫是否要使用正则表达式来检查 $user_agent,因为如果我们不匹配所有可能的移动代理,并且用户会转到 m。在他们无与伦比的手机上,他们将获得无穷无尽的重定向(m. > www. > m. > www. > m. > ...)。我知道用户代理有非常详细的正则表达式字符串,但是尽管它们很详细,但我们发现某些电话不再匹配的唯一方法是销售损失,这不是一种选择。

这是我最初的 Tritium 测试尝试,它会导致不使用 Android 或 iPhone 的移动用户重定向:

match($host,/^m\./) {
    match($user_agent) {
        not(/(Android|iPhone)/) {
            $newHost = $host
            $newHost {
                replace(/^m\./,"")
            }
            $redirect = "http://"+$newHost+$path
            export("Location",$redirect)
        }
    }
}
4

2 回答 2

0

Moovweb 提供开箱即用的客户端和服务器端重定向。建议您实现往返次数最少的服务器端重定向。

这是官方文档: https ://moovwebconfluence.atlassian.net/wiki/display/DD/Mobile+Redirection#MobileRedirection-Server-SideRedirection

最好的,

胡安 C.

于 2015-10-19T20:03:42.307 回答
0
    match($host,/m./) {
            $newHost = $host
            $newHost {
                replace(/m./,"www.")
            }
            $redirect = "http://"+$newHost+$path
            export("Location",$redirect)
        }

尝试这个。希望这对你有用,因为这对我有用。

于 2016-05-12T07:27:49.247 回答