位置重写为多个域

我正在处理多个项目,所以我有多个域:

1. domain1 2. domani2 

如何重写例如

domain1/user to domain1/?page=user

 domain2/user to domain2/clientArea/userMain 

现在我正在使用:

  location /user { rewrite ^/user$ /?page=user; } 

但它会重写我所有的域名。

PS:我是nginx新手,我正在使用Winginx本地服务器;

有两种方法可以做到这一点,取决于你是否有1或2 server (如果你期望2个域之间的配置差异使用2,如果2个域大体相同的内容使用1)

在2个server的情况下,块配置看起来像这样:

 server { server_name domain1; location /user/ { rewrite ^ $scheme://$host/?page=user; } # add in rest of domain 1 config } server { server_name domain2; location /user/ { rewrite ^ $scheme://$host/clientArea/userMain; } # add in the rest of your domain 2 config 

}

在单个server的情况下,它将如下所示:

 server { server_name domain1 domain2; location /user/ { if ($host = domain1) { rewrite ^ $scheme://$host/?page=user; } if ($host = domain2) { rewrite ^ $scheme://$host/clientArea/userMain; } } } 

注意:你可以使用^ regex作为重写条件,因为它所在的location /user/块已经选择了你想要重写的url。 这使得它更有效,因为正则表达式会更快地匹配。