环境
此环境是安装了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
) 是否不包括在重定向中?
最合适的回答,由SO网友:Richard Smith 整理而成
如果您的nginx
服务器块正在处理多个域,最简单的解决方案是测试$host
中的参数if
块另外,更改rewrite
语句,以便它只匹配单个URI。
例如:
if ($host = domain.com) {
rewrite ^/$ https://new-domain.com permanent;
}
该位置靠近现有
server
块