Se é maligno, mas como os estados da documentação , está ok para rewrite ... last
declarações.
No entanto, uma abordagem alternativa (que ainda extrai apenas uma parte do $uri
) é usar um local nomeado no final da instrução try_files
:
location /qa/ {
try_files $uri $uri/ @qa;
}
location @qa {
rewrite ^/qa/(.*)$ /qa/index.php?qa-rewrite=$1 last;
}
A abordagem de localização regex também é válida. Mas os locais de regex são avaliados de forma diferente para prefixar os locais. Você precisa colocar o bloco location ~ \.php$
acima no bloco location ~ ^/qa/(.*)
, para que os URIs com .php
sejam processados no local correto.