要实现 https://xxx.com/ 自动跳转至 https://xxx.com/new,可以在 Nginx 的配置文件中添加以下重定向规则:

server {
    listen 80;
    listen [::]:80;
    server_name xxx.com;
    return 301 https://$server_name$request_uri;
}
 
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name xxx.com;
 
    ssl_certificate /path/to/ssl/cert.pem;
    ssl_certificate_key /path/to/ssl/key.pem;
 
    # 添加以下重定向规则
    if ($request_uri = '/') {
        return 301 https://$server_name/new;
    }
 
    # 其他配置项
    # ...
}

这个配置文件包含两个 server 块,一个用于 HTTP 请求的监听,另一个用于 HTTPS 请求的监听。在第一个 server 块中,使用 return 301 指令将所有 HTTP 请求重定向至 HTTPS 协议,并保留原始请求 URI。

在第二个 server 块中,添加了一个 if 块,用于判断请求 URI 是否为 /。如果是,则使用 return 301 指令将请求重定向至 https://xxx.com/new ,并丢弃原始请求 URI。

注意❗

需要注意的是,if 块可能会影响 Nginx 的性能,因此应该尽量避免在生产环境中使用。如果有必要,也可以使用 map 块或 rewrite 指令来实现重定向。

保存修改后,重新加载 Nginx。