将页面重定向到已重定向目录

时间:2016-10-18 11:09:20

标签: nginx url-rewriting

我有 www.example.com booking.example.com ,我想将 booking.example.com/partners 重定向到的 example.com/partners

我正在使用

location ~ ^/partners/(.*) {
    return 301 http://www.example.com/partners/$1;
}

但现在我想将旧的已解散的链接重定向到新的链接,例如 booking.example.com/partners/doesntexist www.example.com/partners/doesexist

我试着这样做:

location  "^/partners/IDoNotExistAnymore" {
    return 301 http://www.example.com/partners/CorrectLink;
}

但它不起作用,它总是重定向到路线。

1 个答案:

答案 0 :(得分:1)

您需要检查location指令的语法。有关详细信息,请参阅this document

您似乎使用正则表达式位置,但在这种情况下,前缀位置和完全匹配位置会更有效:

location ^~ /partners {
    return 301 http://www.example.com$request_uri;
}
location = /partners/IDoNotExistAnymore {
    return 301 http://www.example.com/partners/CorrectLink;
}