nginx中是设置虚拟目录为什么不生效?

Aries
  • 544

nginx版本:1.12.1
nginx虚拟主机配置如下:

server{
    listen 80;
    server_name abc.local;
    index index.html index.htm index.php;
    root  /opt/tool/web;
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
    location /test {            
        alias /opt/tool/web/cdn/;
    }
    location = /robots.txt {
        allow all;
        log_not_found off;
         access_log off;
    }
    include enable-php.conf;
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
          expires      30d;
    }

    location ~ .*\.(js|css)?$ {
          expires      12h;
    }

    access_log off;
}

此配置文件在servers目录下
nginx.conf 通过

include servers/*;

引入。
访问. http://abc.local/test/1.jpg
出现404
查看nginx错误日志

[error] 36523#0: *63 open() "/opt/tool/web/test/1.jpg" failed (2: No such file or directory), client: 127.0.0.1, server: abc.local, request: "GET /test/1.jpg HTTP/1.1", host: "abc.local"

我在test这个虚拟目录中设置是的
/opt/tool/web/cdn/
为什么不生效,他还要去访问root /opt/tool/web 这个目录?

回复
阅读 6.8k
1 个回答

clipboard.png

一图见分晓

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏