0

これが私がやりたいことです:

/gestion/aa/       => /gestion/aa.php
/gestion/bb/       => /gestion/bb.php
/gestion/a/b/      => /gestion/a/b.php
/gestion/a/b/c/    => /gestion/a/b/c.php

/cmd/aa/           => /cmd/aa.php
/cmd/bb/           => /cmd/bb.php
/cmd/a/b/          => /cmd/a/b.php
/cmd/a/b/c/        => /cmd/a/b/c.php

/json/aa/          => /json/aa.php
/json/bb/          => /json/bb.php
/json/a/b/         => /json/a/b.php
/json/a/b/c/       => /json/a/b/c.php

これにより、この単純な正規表現にたどり着きました。

^/(gestion|cmd|json)/(([^/]+/)*)$ /$1/$2.php [QSA,L]

問題は、$2常に範囲/にあるため、結果は次のようになることです。

/json/aa/          => /json/aa/.php
/json/bb/          => /json/bb/.php
/json/a/b/         => /json/a/b/.php
/json/a/b/c/       => /json/a/b/c/.php

適切な正規表現を取得する方法はありますか?

4

2 に答える 2

1

^/(gestion|cmd|json)/(.+)/$ /$1/$2.php [QSA,L]トリックを行う必要があります

于 2012-08-01T16:34:53.250 に答える
0

これを使って:

^(gestion|cmd|json)(/.*)/$ /$1$2.php
于 2012-08-01T16:37:26.773 に答える