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