Nginx重写域和URL

时间:2013-01-28 15:31:04

标签: url-rewriting nginx rewrite

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

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

1 个答案:

答案 0 :(得分: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/后面的任何内容,并仅重写域。