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