Rewrite
Maxim Dounin
mdounin at mdounin.ru
Fri Aug 31 17:44:04 UTC 2012
Hello!
On Wed, Aug 29, 2012 at 01:51:03AM -0400, Hett wrote:
> Привет,
> суть такова,
> Есть каталог images, в нем лежат другие каталоги, например application,
> video
> Приходят запросы
> images/application/x-rar-compressed.png
> есть такое изображение есть, то отдаем его, если же нету, то отдаем
> изображение images/application/default.png
>
> На апачи я создавал в images файл .htaccess следующего содержания:
> RewriteEngine On
> RewriteCond %{REQUEST_FILENAME} !-f
> RewriteCond %{REQUEST_FILENAME} !-d
> RewriteRule (.*)/.*\.png$ $1/default.png [L]
>
> Как это удобнее сделать на nginx? Очень желательно чтобы не добавлялась
> новая location, и именно это меня вгоняет в ступор.
Как-то так должно сработать:
map $uri $dirname {
~(?<name>.*)/[^/]+$ $name;
}
location /images/ {
try_files $uri $dirname/default.png =404;
}
Документация тут:
http://nginx.org/r/map
http://nginx.org/r/try_files;
Maxim Dounin
Подробная информация о списке рассылки nginx-ru