Помощь по добавлению исключений Mobile User Agent в 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 ответ
Не вижу смысла указывать пробелы в конфиге лака. Это уже двойные кавычки, и пробел не является специальным символом в регулярном выражении. Кроме того, примеры в https://www.varnish-cache.org/trac/wiki/VCLExampleNormalizeUserAgent не заключают в кавычки пробелы. Я думаю, что приведенный вами пример не работает.