有 2 种方法可以做到这一点,具体取决于您是 1 还是 2server
块(如果您期望 2 个域之间有很多配置差异,则使用 2,如果 2 个域具有大部分相同的内容,则使用 1)
在 2 server
-blocks 配置的情况下,如下所示:
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; }
}
}
注意:您可以使用 ^ 正则表达式作为重写条件,因为location /user/
它所在的块已经选择了您要重写的 url。由于正则表达式的匹配速度会更快,因此它的效率会更高一些。