url-rewriting – Nginx重写域和URL

我正在使用多个服务器名称配置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/后面的任何内容并仅重写域.

点赞