需要在 Nginx 上根据特定标准重写域名

需要在 Nginx 上根据特定标准重写域名

我有一台有多个域指向它的服务器(它上面运行着 Wordpress Multisite)。

我需要将其中一个域(例如mydomain.xxx)重定向到另一个位于不同服务器上的另一个域,但我想让请求通过mydomain.xxx/wp-admin/*相关的 nginx 服务器。

例如...

我希望所有 的请求都能www.mydomain.xxx/wp-admin/*被相关 Nginx 服务器(包含规则的服务器)接受和处理。此外,www.mydomain.xxx/wp-login.php...也需要被接受。对mydomain.xxx或 的任何其他请求www.mydomain.xxx都应重定向到https://myotherdomain.xxx

例如,www.mydomain.xxxmydomain.xxx(www).mydomain.xxx/anythingelse(除/wp-admin/*和 外wp-login.php...)应该被重定向。

当请求重定向后,重写中无需包含任何可能放在域名后面的内容。因此在这种情况下可以完全忽略mydomain.xxx/folder1/该部分。/folder1/

目前我已经server_name www.mydomain.xxx并且server_name mydomain.xxx正在收听,然后我有:

if ($host = www.mydomain.xxx) {
    rewrite ^/$ https://www.myotherdomain.xxx permanent;
}

但显然这不允许www.mydomain.xxx/wp-admin/通过。

此外,请求www.mydomain.xxx/wp-login.php?...也需要通过。

实现这一目标的最佳方法是什么?

相关内容