如何重定向主多站点域,但不能重定向其子文件夹,也不能重定向其他域?

时间:2017-09-04 作者:omega33

环境

此环境是安装了Wordpress Multisite的Nginx。

问题

我需要将主多站点域(例如domain.com、www.domain.com)重定向到另一个域(例如domain-new.com、www.domain-new.com)。但我不希望子文件夹重定向。例如,/wp admin/folders不需要重定向,否则我将无法管理多站点网络。

显然,我不希望任何其他域重定向。就是上面提到的那个。

我在Apache中找到了如何执行此操作的说明,但在Nginx中我还没有弄清楚。

到目前为止,我想到了以下几点:

server {
  listen 80;
  server_name domain.com www.domain.com;
  rewrite ^ $scheme://www.domain-new.com$request_uri permanent;
但这也会重定向域的子文件夹。com。我想知道怎么把它排除在外wp-admin 重定向中的文件夹。

我还遇到了这个选项:

location = / {
rewrite ^ http://domain-new.com/$uri permanent;    
}
但我找不到任何关于location 命令可以包括域,如果可以,如何确保特定的子文件夹(wp-admin) 是否不包括在重定向中?

1 个回复
最合适的回答,由SO网友:Richard Smith 整理而成

如果您的nginx 服务器块正在处理多个域,最简单的解决方案是测试$host 中的参数if 块另外,更改rewrite 语句,以便它只匹配单个URI。

例如:

if ($host = domain.com) {
    rewrite ^/$ https://new-domain.com permanent;
}
该位置靠近现有server

结束

相关推荐

在WordPress MultiSite中创建默认页面

新网站创建时,我正在努力创建WordPress多站点页面。我找到了一些钩子来实现这一点,但钩子没有响应。我在stack和其他网站上找到的一些资源是https://stackoverflow.com/questions/40014419/wordpress-multisite-default-page-for-newly-created-site 和http://www.wpbeginner.com/wp-tutorials/how-to-add-remove-default-pages-in-wordpr