1

たとえば、次の URL があります。

www.example.com/folder1/folder2/edit.php?username=ニックネーム

実際、私はこの書き換えルールを持っています:

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

前回の試みで の場所が間違っていたようですeditinfoまた、キャプチャ グループが 1 つしかないため、何も渡されません。

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

代わりに機能しますか?

于 2013-10-05T06:22:23.160 に答える