我正在使用多个服务器名称配置nginx,并尝试设置以下重写规则

redirect / on old.domain.com to new.domain.com/specific_page.php
redirect old.domain.com/$1 to new.domain.com/$1

在我的“服务器”配置中,我已经有第一个重写条件起作用,但是我找不到写第二个条件的方法。
if ($host = 'old.domain.com' ) {
    rewrite  ^/  http://new.domain.com/my-specific/link/list/info.php  permanent;
    rewrite  ^/(.*)$  http://old.domain.com/$request_uri?  permanent;
}

任何想法如何轻松处理这种情况? (我意识到这可能是不寻常的设置。)

最佳答案

实际上,我设法解决了我的问题:

if ($host = 'old.domain.com' ) {
    rewrite  ^/$  http://new.domain.com/my-specific/link/list/info  permanent;
    rewrite  ^(.*)$  http://old.domain.com$request_uri?  permanent;
}

第一个重写规则^/$仅匹配http://old.domain.com/并将其重写为请求的URL
第二个重写规则^(。*)$匹配http://old.domain.com/后面的内容,并且仅重写域。

09-11 19:31
查看更多