nginx 7.6.1 && memcached && escape characters

wDevil wDevil wwdevil at gmail.com
Fri Jul 31 09:31:37 MSD 2009


Начинай с версии 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090731/b91ec3e1/attachment.html>


More information about the nginx-ru mailing list