O termo $uri/
na instrução try_files
faz com que o Nginx teste a existência de um diretório. Consulte este documento para obter detalhes.
Como subcontent1
é um diretório, o Nginx o processa de acordo com a diretiva index
. A resposta 403 é porque não há nenhum arquivo index.php
dentro desse subdiretório.
Remova esse termo, por exemplo:
location /lsl/generalmedia/ {
try_files $uri @nested;
}
Além disso, o bloco de localização aninhada nunca é visitado, pois qualquer URI que termine com .php
é atualmente processado pelo bloco location ~ \.php$
no final da sua configuração.
Se a reescrita específica no bloco @nested não for necessária, o arquivo PHP padrão pode ser especificado na mesma instrução. Por exemplo:
location /lsl/generalmedia/ {
try_files $uri /lsl/generalmedia/index.php?$args;
}