Aqui está um problema:
rewrite ^ /$lang/ permanent;
Você está reescrevendo todas solicitação, não apenas solicitações para a página inicial, porque todas solicitação tem um começo.
Existem (pelo menos) duas maneiras de corrigir isso. Você pode usar:
-
Reescreva apenas as solicitações para a página inicial.
rewrite ^/$ /$lang/ permanent;
-
Use um
location
específico que corresponda apenas à página inicial:location = / { return 301 /$lang/; }