我使用varnish将移动代理重定向到移动网站:
sub vcl_recv {
if (req.http.user-agent ~ "iP(hone|od)|android|(?i)^samsung|(?i)android|(?i)android 3") {
error 750 "Moved Temporarily";
}
}
sub vcl_error {
if (obj.status == 750) {
set obj.http.Location = "http://m.website.com" + req.url;
set obj.status = 301;
return(deliver);
}
}
顺便说一句,在移动网站上我们有网址:
http://www.website.com/?mredirect=yes
有没有办法强制移动代理到桌面版?这意味着网址将有效。
谢谢!
答案 0 :(得分:1)
添加一个cookie(在您的网站上),然后检查清漆VCL:
if (req.http.Cookie ~ "redirua=0") // the cookie for "do not redir by UA"
{ set req.http.X-RedirUA = 0;
set req.http.BrowserType = "BrowserTypePC";
set req.http.SkipUA=1;}
if (req.http.Cookie ~ "redirua=1")
{ set req.http.X-RedirUA = 1;}
在您的服务器和vcl_hash
中,您需要检查此标头,而不是UNSET用于缓存使用。