2013-10-05 3 views
1

У меня есть, например, этот URL: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;

будет работать вместо этого?

Смежные вопросы