Você precisa ajustar a reescrita para usar break , não last :
location = /ecos/file.exp {
rewrite '^/ecos/(.*)$' '/$1' last break;
root /var/www/something;
}
Pelo que entendi:
Com break , o servidor procurará o arquivo usando a raiz no local atual:
location = /ecos/file.exp {
...
root /var/www/something;
}
Com last , o servidor continuará processando e usará o local reconfigurado:
location = / {
...
root /some/other/root;
}
Veja também: nginx url reescrevendo: diferença entre o intervalo e o último