Esta linha:
location ~ ^/index.php($|/) {
diz ao nginx para passar apenas index.php
para o interpretador php e você precisa que ele também se aplique a outros arquivos php, então é necessária mais regra genérica aqui:
location ~ ^/(.*).php($|/) {