
Vindo de mais de 15 anos usando o servidor web Apache, eu queria dar uma chance ao novo garoto. ;) Tenho tentado ajustar meus arquivos de configuração do NGINX por questões de brevidade.
O site geralmente reescreve todo o tráfego para um arquivo específico index.php
, mas eu tenho dois diretórios privacy
e eula
que contêm arquivos individuais index.php
, portanto, para esses dois diretórios, quero apenas chamar os arquivos nos diretórios.
Por exemplo:
location ~ /(privacy|eula) {
try_files $uri $uri/ =404;
}
faz com que meu navegador baixe o conteúdo das páginas como um arquivo .dms.
Se eu dividir o local em dois assim:
location /privacy {
try_files $uri $uri/ =404;
}
location /eula {
try_files $uri $uri/ =404;
}
Funciona como pretendido.
Pesquisei e também encontrei a sugestão de fazer desta forma, mas teve o mesmo efeito location ~ ^/(privacy|eula)
. Preciso apenas conviver com o fato de que o NGINX é muito detalhado ou o que estou fazendo de errado?
Obrigado
Responder1
Oexpressão regular location
os blocos são avaliados em ordem até que uma correspondência seja encontrada.
No seu caso, você colocou location ~ /(privacy|eula)
acima do location ~ \.php$
bloco, para que um URI como /eula/index.php
não seja processado pelo local correto e seja baixado.
Coloque o location ~ /(privacy|eula)
blocodepoiso location ~ \.php$
bloco.
Veresse documentopara detalhes.