2014-11-01 3 views
0

Я хотел бы переписать URL-адрес в nginx для отображения изображений из directoy следующим образом.Повторная запись динамического URL-адреса в nginx

URI Пример:

/api/v1/image/small/dirl1/dirl2/dirl3/dirl4/abc.jpg 

/api/v1/image/small/dirl1/dirl2/dirl3/abc.jpg 

/api/v1/image/small/dirl1/abc.jpg 

Так вот URI-Part /api/v1/image/small/ статична.

Теперь я сохранил изображения разных размеров на сервере в подкаталоге, и я хочу оттуда оттуда, где мне нужно добавить каталог (сконфигурированный в программном обеспечении) перед именем файла изображения и переименовать файл.
Например

для /api/v1/image/small/dirl1/dirl2/dirl3/dirl4/abc.jpg

изображения должны быть поданы от

/dirl1/dirl2/dirl3/dirl4/content/small_abc.jpg

Как я могу добиться этого?

ответ

0

Самый чистый способ - использовать директиву try_files и убрать то, что вам нужно, в регулярном выражении местоположения. Если у вас много таких сопоставлений, вам следует использовать директиву map для запроса запроса $ uri и использовать общий блок местоположения.

location ~ ^/api/vi/image/small/(.+)/([^.]+)\.jpg$ { 
    try_files /$1/content/small_$2.jpg =404; 
} 
Смежные вопросы