使用IIS7的URL Rewrite模块的正则表达式问题

时间:2010-08-25 01:07:08

标签: regex iis-7 mod-rewrite url-rewriting

我在IIS7中使用URL重写模块并使用用户友好URL规则模板。

我正在尝试获取以下网址:

Something/param1/something/param2/something/param3/something/something2/ etc.etc.

重写为

SomethingEnd.aspx?param1=something&param2=something&param3=something/something2& etc.etc.

使用模板,它会自动生成如下内容:

^SomethingEnd\.aspx$

重定向到

Something/{C:1}/{C:2}/{C:3}/{C:4}/{C:5}/{C:6} etc.

反之亦然

^Something/([^/]+)/([^/]+)/?$

SomethingEnd.aspx?{R:1}={R:2}

我的问题是,我怎样才能让它变得动态?虽然我的查询字符串中有一定数量的参数,但我真的不想制作,例如,如果我有6个参数,6个单独的重写规则(反向应用)。

我试过

^Something/([^/]+)*/?$

但这似乎不起作用。

非常感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用split


修改

举个例子,在javascript中,您可以使用:

"Something/param1/something/param2/something/param3/something/something2/".split(/([^/]+)\/([^/]+)/)

这会返回一个数组:

["", "Something", "param1", "/", "something", "param2", "/", "something", "param3", "/", "something", "something2", "/"]

因此,您只需要一个循环来获取正确的信息。