将两个nginx主机合并为一个

时间:2012-10-25 05:50:21

标签: nginx

是否可以将这些主机合并为一个?

server {
   server_name www.website.com;
   rewrite ^ http://website.com$request_uri? permanent;
}

server {
   server_name www.website.ru;
   rewrite ^ http://website.ru$request_uri? permanent;
}

1 个答案:

答案 0 :(得分:0)

是的,以下内容应该有效:

server {
  server_name www.website.com website.com www.website.ru website.ru;

  if ( $host ~ "www\.(.*)" ) {
    set $hostdomain $1;
    rewrite ^ $scheme://$hostdomain$request_uri? permanent;
  }

  # handling of the non-rewritten non-www requests goes here
}

注意:你需要保存domain-minus-www而不是直接在重写中使用$ 1的原因是因为rewrite指令重置了捕获变量