位置块被忽略

时间:2014-01-16 23:17:06

标签: nginx location favicon

我测试了nginx但是遇到了严重的问题。不知怎的,位置标签没有抓住我的uri。当浏览器或我手动尝试访问我的localhost上的/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;
}

...错误日志如下所示:

  

2014/01/17 00:05:18 [错误] 7408#10036:* 82 CreateFile()“C:\ Users \ user \ Webb \ nginx / www / favicon.ico”失败(2:FormatMessage()错误:(15105)),client:127.0.0.1,server:localhost,request:“GET /favicon.ico HTTP / 1.1”,host:“localhost”

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

1 个答案:

答案 0 :(得分:0)

AFAIK nginx别名是这样的:

alias <the base path>

表示用它告诉nginx URI中第一个“/”左边的部分。

例子。假设我在/ var / www / html / images中有我的图像,而我的应用程序将apic.jpg称为http://app.com/pictures/apic.jpg,那么我所做的就是:

location ^/pictures {
  alias /var/www/html/images;
}

希望这会有所帮助。