IIS 7.5(Windows Web Server 2008 R2)で汎用URL書き換えルールを作成したいと思います。
次のURLと一致させたい:
www.mysite.com/param
www.mysite.com/folder1/
www.mysite.com/folder1/param
www.mysite.com/folder1/folder2/
www.mysite.com/folder1/folder2/param
フォルダーと一致させたい場合は、末尾のスラッシュ(/)に注意してください。それ以外の場合は、パラメーターです。
次の書き換えルールを設定しました。
^(?:([^/]+)/)?(?:([^/]+)/)?([^/]+)?$
{R:1}、{R:2}、{R:3}の3つの一致する句があります。ただし、次のtest-URLを入力すると:
folder1 / param
次の応答があります。
{R:1}は空です
{R:2} = folder1
{R:3} = param
私は次の応答を疑った:
{R:1} = folder1
{R:2}は空です
{R:3} = param
つまり、folder1をリライトパターンの最初の部分にマップする必要があります。
書き換えルールを次のようにマップしたいと思います。
/controller.php?folder1={R:1}&folder2={R:2}¶m={R:3}
マッチを貪欲にする、つまり最初の可能な句にマッチさせるために私は何が欠けていますか?