在Varnish上强制使用桌面版网站

时间:2014-11-10 17:57:44

标签: magento varnish varnish-vcl

我使用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

有没有办法强制移动代理到桌面版?这意味着网址将有效。

谢谢!

1 个答案:

答案 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用于缓存使用。