YSlow指控Nginx上只有favicon.ico的过期头文件

我已经configurationNginx(在我的本地服务器上)添加Expires头像这样:

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

但是YSlow不停地说:

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

难道我做错了什么?

经过多次testing,我注意到我的原始正则expression式自开始以来工作正常。 但是,.ico文件被错误地命名,所以浏览器没有find它。 这是YSlow警报的真正原因。 当然,没有find的文件不应该显示“远期过期date”警报,而是显示“未find内容”…

在YSlow中检查过期标题: PrtSc键

可能工作在另一个位置。 尝试相同的configuration:

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

更改configuration后,重新加载nginx:

 $ sudo nginx -t $ sudo nginx -s reload 

问题在于,favicon.ico在您指定的条件下不匹配。 尝试添加这样的东西。

 location /favicon.ico { expires max; } 

有些客户在您的网站的根目录中寻找favicon。

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