Использование get параметров запроса $arg_name в try_files
Taras Murashko
taras.murashko at gmail.com
Wed Apr 22 20:37:38 MSD 2009
Здравствуйте,
Решил обратится к сообществу за советом.
При переходе с lighttpd хочу попутно реализовать отдачу пользовательских
картинок через nginx(0.7.50).
Урл картинок: /img/$img_id/$file_name?width=$width&heigth=$height
Путь к файлу:
/opt/images/$img_id_$file_name/T_w$width_h$height_fORIGINAL_$img_id_$file_name
Если в запросе не указаны width и heigth
то путь к файлу: /opt/images/$img_id_$file_name/$img_id_$file_name
Судя по документации параметры запроса хранятся в перемменых $arg_*name*
Я попробовал следующий конфиг:
location ~* ^/img/([0-9]+)/(.*)?(.*)$ {
root /opt/images;
try_files /$1_$2/T_w$arg_width_h$arg_height_fORIGINAL_$1_$2
/$1_$2/$1_$2 @backend;
}
location / {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:5000;
}
location @backend {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:5000;
}
Но если в запросе присутствуют параметры width и heigth к примеру
/img/1/1.jpg?width=100&height=100
то nginx не отдает файл с заданными размерами, хотя если вместо
try_files /$1_$2/T_w$arg_width_h$arg_height_fORIGINAL_$1_$2 /$1_$2/$1_$2
@backend;
прописать явно
try_files /$1_$2/T_w100_h100_fORIGINAL_$1_$2 /$1_$2/$1_$2 @backend;
то отдается файл с заданными размерами 100 на 100.
В чем может быть проблема ?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090422/8610a09d/attachment.html>
More information about the nginx-ru
mailing list