try_files не принимает абсолютные пути, всегда дописывая перед переданной строкой содержимое $document_root. Так что надо задать нормальное значение корня.
Получится что-то типа:
location ~* "/img/([a-z0-9\-]{2,5})/([a-z]{1,3})/([0-9]{1,2}\.jpg)" {
root /;
set $cache $static_root/cached/$folder/$1/$2/$3;
set $cache_common $static_root/cached/common/$1/$2/$3;
try_files $cache $cache_common @vincent;
}
Но лучше как-то так:
location ~* "/img/([a-z0-9\-]{2,5})/([a-z]{1,3})/([0-9]{1,2}\.jpg)" {
root $static_root;
set $cache /cached/$folder/$1/$2/$3;
set $cache_common /cached/common/$1/$2/$3;
try_files $cache $cache_common @vincent;
}