0

我正在尝试使用 Microsoft IIS URL Rewrite 2.0 设置 url 重写规则,我正在运行 IIS7 和 .NET 4。

我想匹配任意数量的特定模式,例如:

www.test.com/test1/
www.test.com/test1/test2/
www.test.com/test1/test2/test3/
www.test.com/test1/test2/test3/test4/ etc...

并 [分别] 将结果重写为

www.test.com/page.aspx?q=test1
www.test.com/page.aspx?q=test1&q=test2
www.test.com/page.aspx?q=test1&q=test2&q=test3
www.test.com/page.aspx?q=test1&q=test2&q=test3&q=test4 etc...

或者

www.test.com/page.aspx?q=test1
www.test.com/page.aspx?q=test1,test2
www.test.com/page.aspx?q=test1,test2,test3
www.test.com/page.aspx?q=test1,test2,test3,test4

使用标准 c# 正则表达式引擎时,这是一件相当直接的事情(我考虑过创建一个自定义 HttpModule 来处理这个问题并遍历 Match 集合),但是我想知道是否可以使用 IIS url重写组件,因为我很高兴地将它用于网站的其他部分。

有任何想法吗?

4

2 回答 2

1

你为什么不直接匹配并传入

www.test.com/page.aspx?q=test1/test2/test3/test4

然后由它page.aspx来解析它如何需要它?这样,当它真的是应用程序逻辑时,您的配置就不必更改。

于 2012-08-07T15:26:57.973 回答
0

如果您使用的是 .net 4.0,什么不使用路由?

http://everymanprogrammer.com/index.php/asp-net-4-0-routing-a-simple-tutorial-that-works/

于 2012-08-08T01:29:39.083 回答