我想在IIS 7.5(在Windows Web Server 2008 R2上)製作通用的URL重寫規則。IIS讓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}。然而,當我輸入下面的測試-URL:
的folder1/PARAM
我得到以下響應:
{R:1}爲空
{R:2} = folder1中
{R:3} =參數
我懷疑以下響應:
{R:1} = folder1中
{R:2}爲空
{R:3} = param
即使我想文件夾1被映射到重寫模式的第一部分。
我要地圖重寫規則:
/controller.php?folder1={R:1}&folder2={R:2}¶m={R:3}
缺少什麼我拿到了賽是貪婪的,即匹配第一個可能的條款?
This Works。我不想去這一步,因爲我的實際問題有4個級別(不僅僅是問題中提供的兩個問題來展示問題),但儘管如此,這似乎是一個很好的解決方案。 – Gedde 2010-11-27 04:01:10