帮助将移动用户代理例外添加到 Varnish-Cache

帮助将移动用户代理例外添加到 Varnish-Cache

这是我添加到 vcl 文件的代码,以便它分别为桌面用户和移动用户缓存内容:

if (req.http.User-Agent ~ "(iPhone|Android|240x320|400X240|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|Googlebot-Mobile|hiptop|IEMobile|KYOCERA/WX310K|LG/U990|MIDP-2.|MMEF20|MOT-V|NetFront|Newt|Nintendo Wii|Nitro|Nokia|Opera Mini|Palm|PlayStation Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|SHG-i900|Small|SonyEricsson|Symbian OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|webOS|Windows CE|WinWAP|YahooSeeker/M1A1-R2D2|PalmSource)") {
    set req.http.Host = "m.wwwery.com";
}

但是当我看到这里(http://www.ephur.net/2010/01/04/improving-wordpress-performance-and-supporting-wptouch-with-varnish/),就像“Opera\Mini”。为什么呢?

每当有空格时我是否应该添加“\”?或者我不需要这么做?请指教。

答案1

我认为没有必要在 varnish 配置中引用空格。它已经是双引号了,而且空格在正则表达式中不是特殊字符。此外,https://www.varnish-cache.org/trac/wiki/VCLExampleNormalizeUserAgent不要引用空格。我认为你引用的例子是不正确的。

相关内容