0

现在我有一个这种类型的 URL:

test.com/p/felix?order=1

我想将它重定向到这个:

test.com/user/view/info?uname=felix&order=1

也许没有订单参数

(test.com/p/felix to test.com/user/view/info?uname=felix)

现在我的 nginx 配置是:

if ($request_uri ~ "^\/p\/(.*)\?(.*)$"){
        rewrite "^/p/(.*)?(.*)$" "/user/view/info?uname=$1&$2" break;
}
if ($request_uri ~ "^\/p\/(.*)$"){
            rewrite "^/p/(.*)$" "/user/view/info?uname=$1" break;
}

现在可以了。但是我想将这两个配置合并为一个配置?

你能告诉我怎么做吗谢谢:)

4

1 回答 1

0

鉴于您的问题的更改表明它现在可以工作,如何将其合并为一个:

if ($request_uri ~ "^\/p\/(.*)\?(.*)$") {
    if ($2 = '') {
        rewrite "^/p/(.*)$" "/user/view/info?uname=$1" break;
    } else {
        rewrite "^/p/(.*)?(.*)$" "/user/view/info?uname=$1&$2" break;
    }
}
于 2013-10-30T15:55:08.147 回答