Помощь по добавлению исключений 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 не заключают в кавычки пробелы. Я думаю, что приведенный вами пример не работает.

Другие вопросы по тегам