2013-10-05 384 views
1

我有例如,这网址:Nginx的 - 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; 
} 

但是,工作正常。

但我需要重写我的网址是这样的:

www.example.com/nickname/edit/info

它有几个参数:

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

我什么都试过,但没有成功:

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; 
} 

回答

1

你的最后一次尝试似乎已经混淆的edit位置。此外,没有被传递给info因为只有一个捕获组,也许

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

反而会工作吗?