Nginx Wildcard para try_files

1

Portanto, estou tentando configurar um arquivo de configuração nginx padrão que pode ser implantado em várias imagens do Docker com diferentes configurações de site em cada contêiner. Está atualmente definido como abaixo:

server {
   listen 80 default_server;

   root /var/www/;
   index index.php index.html;

   server_name localhost;
   include php5-fpm.conf;


   location / {
           try_files $uri $uri/ /index.php?q=$request_uri;
   }

   location /status {
           stub_status on;
           access_log   off;
           allow 127.0.0.1;
           deny all;
   }

}

O problema é que ele não funciona para sites estáticos que usam index.htm ou index.html

Eu posso editar a seção de localização como abaixo e, em seguida, o site funcionará. Existe alguma maneira de obter o nginx para usar um caractere curinga, portanto, index. * E ele usará o arquivo de índice que encontrar? index. * por si só não funciona, então não tenho certeza do que precisa ser adicionado / removido ...

       location / {
           try_files $uri /index.htm?q=$request_uri;
   }
    
por SyphonxZA 18.07.2018 / 13:58

1 resposta

1

Você está fixado na parte errada de try_files .

A parte relevante para o que você deseja é $uri/ , com a barra final, que parece ter sido removida. Esse bit faz com que o nginx tente todos os arquivos listados na diretiva index .

Você deve colocar essa parte de volta em try_files e, em seguida, editar a diretiva index para incluir os nomes de arquivos desejados.

    
por 18.07.2018 / 15:26

Tags