Начинай с версии 0.6.5 nginx экранирует пробел в переменной $memcached_key. Вопрос состоит в следующем: как мне экранировать ключ в скриптах и складывать по нему данные в мемкеш, чтобы nginx нормлаьно забирал? Экранирование заключается в подстановке обратного слеша или замене на +?
Например: запрос на сервер: http://server.nix:81/query/my god соответственно ключ: /query/my god в скриптах пытаюсь экранировать ключ и сложить по нему даныне в мемкеш так:
"/query/my\ god" или так "/query/my+god" на что nginx выдает 404.
Для отладки сделал так: создал формат лога:
log_format my '[$uri] -- $memcached_key'; access_log /var/log/nginx/map_nix.memcached.log my;
В результате запроса в лога вот что: [/drawer/cache/grid/2/2/3/query/criteria/name/query/my god] -- /drawer/cache/grid/2/2/3/query/criteria/name/query/my god
так он экранирует или нет? Info: # nginx -v
nginx version: nginx/0.7.61
# uname -a FreeBSD poligon.2gis.local 7.2-RELEASE FreeBSD 7.2-RELEASE #5: Fri May 29 10:26:39 NOVST 2009