solicitações de processo nginx usando um único bloco location
. Você deve ler em como o nginx processa solicitações .
Seu problema vem do fato de que o local que manipula seu URI ( /knowledge[...]
) difere daqueles que manipulam o URI ( /[...].php
, suponho).
Como você usou a operadora especial ^~
location
, regex location
blocos não estão sendo verificados ao selecionar o mais adequado para servidor suas solicitações, se este bloco corresponde. Como conseqüência de sua solicitação ser atendida por este bloco (prefixo mais longo), ele simplesmente exibe os arquivos do disco, com o tipo MIME padrão configurado.
Você pode tentar aninhar location ~ \.php$
block dentro de location ^~ /knowledge
block.