托管域的 NGINX 默认重定向

Rya*_*iss 3 nginx

我试图在没有服务器指令的情况下将所有托管域重定向到位于公司域服务器指令中的停放页面。

目前,我有以下内容只会重定向到主页,因为转发非 TLS 公司域请求也需要相同的指令。

server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    server_name   _;

    return       301 https://company.com$request_uri;
}
Run Code Online (Sandbox Code Playgroud)

我需要一个服务器指令,它将所有不是 company.com 的请求转发到 company.com/parked.php

Ter*_*nen 7

您可以使用以下配置:

server {
    listen       80;
    listen       [::]:80;
    server_name  company.com;

    return       301 https://company.com$request_uri;
}

server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    server_name   _;

    return 301 https://company.com/parked.php;
}
Run Code Online (Sandbox Code Playgroud)

因此,您为company.com域指定了一个处理 http -> https 重定向的虚拟主机,以及一个重定向到停车页面的默认服务器。这比使用if指令更有效。