Você precisa entender a ordem de avaliação dos blocos location
. Consulte este documento para obter detalhes.
A solução simples seria alterar o local do prefixo para um local de correspondência exata. Por exemplo:
location = /goodpage.php {
...
}
Como a Orphans aponta, a instrução deny all;
precisa estar após qualquer instrução allow
mais específica. Consulte este documento para obter detalhes.