Nginx 位置块被忽略

Nginx 位置块被忽略,nginx,location,favicon,Nginx,Location,Favicon,我在测试nginx时遇到了一个严重的问题。不知何故,位置标记没有捕获我的uri。当浏览器或我手动尝试在本地主机上访问/favicon.ico时,它只会抛出一个404错误。配置类似于以下代码: server { listen 80; server_name localhost; root www; #charset koi8-r; #access_log logs/host.access.log main; locat

我在测试nginx时遇到了一个严重的问题。不知何故,位置标记没有捕获我的uri。当浏览器或我手动尝试在本地主机上访问/favicon.ico时,它只会抛出一个404错误。配置类似于以下代码:

server {
    listen       80;
    server_name  localhost;
    root         www;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

location / {
    index    index.html index.php;
}

    location = /favicon.ico {
    alias alias /assets/images/favicon.ico;
}
。。。错误日志如下所示:

alias <the base path>
2014/01/17 00:05:18[错误]740810036:*82创建文件C:\Users\user\Webb\nginx/www/favicon.ico失败2:FormatMessage错误:15105,客户端:127.0.0.1,服务器:localhost,请求:GET/favicon.ico HTTP/1.1,主机:localhost


日志证明位置块已被忽略,因为文件的nginx查找路径不是别名指向的路径。

AFAIK nginx alias如下所示:

alias <the base path>

希望这能有所帮助。

问题在于路径必须与nginx.exe相对,但我认为它与根相对。通过路径“www/assets/images/favicon.ico”解决了问题。我还注意到,如果你先写一个斜杠,它将使用计算机的根作为根。不管怎样,谢谢你的回复,它帮助我做对了。