1

我正在使用 Nginx,我想用以下两个参数重写所有 url:

title=%E7%89%B9%E6%AE%8A

from=(any datatime)

到主页。

我不知道如何写规则,有没有人可以帮助我?

编辑:

我想重写网址,如:

http://example.com/index.php?days=30&from=20120122083408&limit=250&title=%E7%89%B9%E6%AE%8A

或者

http://example.com/index.php?from=20120622063000&limit=20&title=%E7%89%B9%E6%AE%8A

或者

http://example.com/index.php?from=20030422063000&title=%E7%89%B9%E6%AE%8A

http://example.com
4

1 回答 1

2

Nginx 不支持逻辑与运算,但我们可以使用“小技巧”:这应该可以帮助您:

location = /index.php {
    set $redirect "";

    # if we have get parameter "title":
    if ( $arg_title ) {
        set $redirect "Y";
    }

    # if we have get paramter "from":
    if ( $arg_from ) {
        set $redirect "${redirect}ES";
    }

    # Now in the variable $redirect should be a word "YES":
    if ( $redirect = YES ) {
        rewrite ^ / last;
    }

    ....
}

PS您也可以使用302重定向,直接将用户移动到/

于 2012-06-26T11:32:28.193 回答