Primeiro, mova a reescrita da chave do bloco location
para o bloco server
. Isso simplificará sua lógica.
Em seguida, ative a possibilidade de reescrever o registro de depuração para confirmar se o erro 404 você está recebendo é da URL original, ou a URL reescrita.
Finalmente, se a causa raiz ainda não for encontrada habilite o log de depuração geral para o Nginx:
error_log /path/to/log debug;