Welcome! Log In Create A New Profile

Advanced

Re: rewrite и кеширование (proxy_store)

Andrey Kravchenko
September 02, 2011 02:38PM
Кажется, решил проблему. Теперь сохраняет там, где положено. Спасибо:)

server {
listen 81;
server_name i.example.com;
default_type image/jpeg;

set $original_uri $uri;

location / {
root c:/local/web/i;
index index.php index.html index.htm;
rewrite ^/([0-9]+)/([0-9]+)-([0-9]+)-([0-9]+)/(.+)$
/$1/$2/$3/$4/$5;
set $uri2 $uri;
}


proxy_store c:/local/web/i$uri2;
proxy_store_access user:rw group:rw all:r;
error_page 404 = /404/$original_uri;

location /404/ {
internal;
proxy_pass http://example.com/picture/getimage;
proxy_set_header Host example.com;
}
}

On 9/2/2011 7:26 PM, Andrey Kravchenko wrote:
> Добрый день,
>
> На входе сервер получает 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@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

rewrite и кеширование (proxy_store)

Andrey Kravchenko September 02, 2011 12:28PM

Re: rewrite и кеширование (proxy_store)

Andrey Kravchenko September 02, 2011 02:38PM

Re: rewrite и кеширование (proxy_store)

Andrey Kravchenko September 02, 2011 03:02PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 204
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready