A documentação que você citou explicitamente diz "um redirecionamento interno para o último parâmetro é chamado". O redirecionamento interno é tratado da mesma forma que a solicitação inicial proveniente do cliente - isso inclui o processamento das instruções rewrite
no nível do servidor, que você vê no log. No entanto, se qualquer outro parâmetro try_files
, exceto o último, corresponder a um arquivo existente, a solicitação será tratada usando a configuração location
na qual a instrução try_files
está localizada e não haverá correspondência correspondente.
Quanto às suas regras, você tentou apenas omitir $args
em try_files
?
location / {
try_files $uri /routing.php /50x_static.html;
fastcgi_pass unix:/opt/local/var/run/php54/php-fpm-www.sock;
include /documents/projects/intahwebz/intahwebz/conf/fastcgi.conf;
}
Observe que $uri
não contém $args
também; Os parâmetros de consulta ainda serão passados para o backend FastCGI através do parâmetro QUERY_STRING
, que é presumivelmente definido em seu fastcgi.conf
:
fastcgi_param QUERY_STRING $query_string;
E se nem $uri
nem /routing.php
estiverem presentes como arquivos, a solicitação será redirecionada para /50x_static.html
e processada de acordo com a seção location = /50x_static.html
em sua configuração (mas uma segunda iteração de tentativas de reconfiguração ainda será realizada, porque suas regras de reescrita são colocadas no nível do servidor).
Um detalhe muito suspeito da sua configuração é que você está passando todos os arquivos pelo PHP, independentemente da extensão do arquivo - isso é muito incomum e pode causar problemas de segurança devido à execução do código PHP em um arquivo onde não era esperado. / p>