ngxin实现user-agent 来访问不用页面,非常简单,但是我们一般前端是cache层,那么在缓存层怎么实现的,原理一样的。
今天用varnish实现,注意我们实现的是302 redirect 而不是rewrite url
实现目标:iphone来访问www.test.com 会自动跳转到m.test.com
贴代码
sub vcl_recv { if (req.http.user-agent ~ "iphone") { if (req.http.host ~ "www.test.com") { error 750 "m.test.com"; } } } sub vcl_error { if (obj.status == 750) { if (obj.response ~ "m.test.com") { set obj.http.Location = "http://m.test.com/"; } set obj.status = 302; return (deliver); } }
转载于:https://blog.51cto.com/ribble/1691533