nginx - serve um único arquivo em um bloco de localização sem alterar o caminho

5

Eu tenho um aplicativo da web de página única. Eu quero configurar o nginx para servir arquivos diretamente em uma pasta, e para todas as outras solicitações, quero que ele sirva um único arquivo html. A configuração que quero alcançar é a seguinte:

.
.
.
location /static/ {
    # Serve directly here
}

location / {
    # Serve single file here (index.html), without changing the path
}
.
.
.

Respostas a perguntas semelhantes que encontrei sugeriram o uso de uma regravação de URL, mas, até onde eu sei, isso redirecionaria o usuário para um novo URL, alterando o caminho.

O que eu quero é, qualquer que seja o tipo de usuário, exceto algo que comece com static, o nginx atende o arquivo index.html sem alterar o caminho, porque eu carregarei conteúdo dinâmico na página usando a variável path.

    
por Ozgur Akcali 30.03.2015 / 15:11

1 resposta

10

O caminho mais simples seria

location / {
    try_files /index.html /index.html;
}
    
por 30.03.2015 / 15:31

Tags