为什么 nginx 将位置上下文路径作为根位置的前缀?

为什么 nginx 将位置上下文路径作为根位置的前缀?

我有一个简单的默认网站配置,位于 nginx 的“sites-available”文件夹中,如下所示。

当我尝试浏览到/你好我希望它能够提供位于我指定的根文件夹中的index.html 文件。相反,它尝试在我指定的根位置获取 /hello/index.html 。

有没有办法告诉 nginx 在不添加上下文路径前缀的情况下提供文件?

root /var/...;

location / {
    ...
}

location /hello/ {
    root /home/vagrant/public_html/project/dist;
}

答案1

使用alias而不是root;引用http://nginx.org/en/docs/http/ngx_http_core_module.html#alias

例如,使用以下配置

location /i/ {
    alias /data/w3/images/;
}

根据“/i/top.gif”的请求,将发送文件/data/w3/images/top.gif。

相关内容