1

例如,我有这个 URL:

www.example.com/folder1/folder2/edit.php?username=nickname

其实我有这个重写规则:

location / {
    root   /var/www;
    index  index.php index.html index.htm;

    # First rewrite rule output: www.example.com/nickname

    rewrite ^/([A-Za-z0-9_]+)$ /folder1/folder2/user.php?username=$1;

    # Second rewrite rule output: www.example.com/nickname/edit

    rewrite ^/([A-Za-z]+)/edit$ /folder1/folder2/edit.php?username=$1;
}

但是,这很好用。

但我需要像这样重写我的 URL:

www.example.com/nickname/edit/info

它有几个参数:

www.example.com/folder1/folder2/edit.php?username=nickname&info=basic

我尝试了一切但没有成功:

location / {
    root   /var/www;
    index  index.php index.html index.htm;

    # First rewrite rule output: www.example.com/nickname
    rewrite ^/([A-Za-z0-9_]+)$ /folder1/folder2/user.php?username=$1;

    # Second rewrite rule output: www.example.com/nickname/edit
    rewrite ^/([A-Za-z]+)/edit$ /folder1/folder2/edit.php?username=$1;

    # Here where I'm stuck
    # www.example.com/nickname/edit/info

    rewrite ^/edit/([A-Za-z]+)/info$ /folder1/folder2/edit.php?user=$1&info=$2;
}
4

1 回答 1

1

您的最后一次尝试似乎混淆了edit. 此外,没有任何东西被传递,info因为只有一个捕获组,也许

rewrite ^/([A-Za-z]+)/edit/([A-Za-z]+)$ /folder1/folder2/edit.php?username=$1&info=$2;

会起作用吗?

于 2013-10-05T06:22:23.160 回答