Problema de prefixo de localização Nginx

1

Eu notei em meus logs de erro que alguns pedidos de favicon ??? estão procurando o arquivo em vários diretórios (não raiz). Eu usei "grep" e verifiquei meus arquivos de servidor e todas as meta tags, etc - e todos eles apontam para /favicon.ico

Então, resolvi esse problema fazendo isso:

location ~* favicon\.(.*) {
    expires   365d;
    etag      on;
    try_files /favicon.ico =404;
}

O que eu gostaria de fazer é usar o seguinte prefixo para que meus outros locais regulares não sejam pesquisados:

location ^~ favicon\.(.*)

No entanto, isso não funciona e nunca combina, mesmo para / favicon. solicitações.

É possível usar o prefixo "^ ~" e ainda ter correspondência para "favicon. ???" em QUALQUER pedido de diretório?

    
por Dave 30.01.2016 / 20:28

1 resposta

1

O modificador ^~ afeta o comportamento dos locais de prefixo . Não é não uma localização regex .

Para tornar sua correspondência location ~* favicon\. antes de seus outros locais de regex, basta torná-la a primeira localização regex encontrada no contêiner server .

Veja este documento para detalhes.

    
por 31.01.2016 / 00:29

Tags