4

我正在使用多个服务器名称配置 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;
}

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

4

1 回答 1

2

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

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后面的任何内容/并仅重写域。

于 2013-01-28T17:30:00.327 回答