Nginx 子域名到子域名重定向不起作用

Nginx 子域名到子域名重定向不起作用

下面的配置重定向到.another-domain.com空子域名。我做错了什么?

server {
  server_name ~^(\w+)\.domain\.com$;
  location / {
    rewrite ^ $scheme://$1.another-domain.com$request_uri permanent;
  }
}

答案1

NGINX 文档提到对于该server_name指令:

数字参考很容易被覆盖

因此您应该使用命名捕获。

此外,由于您正在执行站点范围的重定向而不需要复杂的 URL 替换,因此您可以return在上下文中直接使用server

server {
  server_name ~^?(?<subdomain>\w+)\.domain\.com$;
  return 301 $scheme://$subdomain.another-domain.com$request_uri;
}

此外,根据上面的评论,请确保这不是 NGINX 配置中的默认服务器。您只需在 other的指令default_server中提供标志即可做到这一点。serverlisten

相关内容