YSlow não acusando cabeçalhos de expiração apenas para favicon.ico no Nginx

1

Eu configurei o Nginx (no meu servidor local) para adicionar cabeçalhos Expires assim:

location ~* \.(ico|css|js|gif|jpe?g|png)$ {
    expires max;
    #auth_basic "Restricted, please login";
    #auth_basic_user_file htpasswd.users;
}

Mas YSlow continua dizendo:

There is 1 static component without a far-future expiration date.
* (no expires) http://atpc.dev/f/a/i/favicon.ico

Estou fazendo algo errado?

    
por Roger 18.02.2011 / 00:51

4 respostas

2

Depois de muitos testes, notei que o meu regex original estava funcionando bem desde o início. No entanto, o arquivo .ico foi erroneamente chamado para que o navegador não o encontrasse. Esta foi a verdadeira causa do alerta do YSlow. É claro que um arquivo não encontrado não deve mostrar um alerta de "data de expiração futura", mas um "conteúdo não encontrado" ...

    
por 01.06.2011 / 13:44
1

A verificação expira o cabeçalho no YSlow:

Possivelmente funciona em outro local. Experimente a mesma configuração:

location = /f/a/i/favicon.ico {
    expires max;
}

Após alterar a configuração, recarregue o nginx:

$ sudo nginx -t
$ sudo nginx -s reload
    
por 18.02.2011 / 01:02
0

A questão é que favicon.ico não é correspondido na condição que você especificou. Tente adicionar algo assim.

location /favicon.ico {
          expires max;      
}
    
por 03.03.2011 / 17:48
0

Alguns clientes procuram o favicon na raiz do seu site.

location /favicon.ico {
    # if not found send 204 (content not found)
    try_files /f/a/i/favicon.ico =204;  
    expires max;      
}
    
por 06.03.2011 / 01:11