Nginx 位置指令不起作用

Nginx 位置指令不起作用

我的 Nginx 配置文件是:

server {
    listen 80;
    server_name localhost;
    location /a/ {
        return 404;
    }
    return 301;
}

当我运行请求时:

curl -v http://localhost/a/

我期望看到 404 代码。但我收到 301 代码。为什么location /a/ {}指令不起作用?

答案1

return指令必须位于location块内,除非它是服务器块中唯一的指令。

此配置按预期工作:

server {
    listen 80;
    server_name localhost;
    location /a/ {
        return 404;
    }
    location / {
        return 301;
    }
}

相关内容