非根 '/' NginX 位置出现 404

非根 '/' NginX 位置出现 404

我有一个文本文件,可以从根/hi.txtURL 正常提供,但不能从/test/hi.txtURL 提供。

以下是完整的 NginX 配置:

server {
    listen 80;
    server_name xxx.com *.xxx.com;
    server_tokens off;

    root /var/www/certbot;

    location /test {
        root /var/www/certbot;
    }
}

更新:我希望请求的文件不是 404 http://example.com/test/hi.txt

更新 II:我现在对这个问题有了更多的了解。错误日志显示:

open() "/var/www/certbot/test/hi.txt" failed (2: No such file or directory),

我认为该/test位置没有以根为后缀。

有没有什么办法可以不给/test位置添加后缀?

答案1

您可以在此处使用别名,例如:

location /test {
        alias /var/www/certbot;
}

看这里:http://nginx.org/en/docs/http/ngx_http_core_module.html#alias

答案2

使用alias并且在位置路径中没有任何尾随斜杠/字符,文件就可以正常运行:

location /test {
    alias /var/www/certbot;
}

相关内容