Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
rewrite и кеширование (proxy_store)
Добрый день,
На входе сервер получает URL вида
http://example.com/350/222--222--2/52-aa50d321.jpg
Если файла нет (404) - я лезу на бекенд за ним, после чего кеширую его.
Задача: закешировать файл в таком виде: 350/222/222/2/52-aa50d321.jpg
(соответственно искать файл нужно там же), а бекенду передать
оригинальный URL.
Если не брать во внимание необходимость хранить файлы в нужной структуре
папок, то все хорошо работает так:
server{
listen 81;
server_name i.example.com;
default_type image/jpeg;
location / {
root c:/local/web/i;
index index.php index.html index.htm;
set $original_uri $uri;
}
proxy_store c:/local/web/i$original_uri;
proxy_store_access user:rw group:rw all:r;
error_page 404 = /p/picture/getimage$original_uri;
location /p/ {
internal;
proxy_pass http://example.com:80/;
proxy_set_header Host example.com;
}
}
Как разрулить ситуацию с файловой структурой?
Насколько понимаю, должно быть что-то в духе rewrite
^/([0-9]+)/([0-9]+)-([0-9]+)-([0-9]+)/(.+)$ /$1/$2/$3/$4/$5 , но не
совсем понимаю, как это правильно использовать.
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|