IIS URL重写模块中的动态查询字符串路由

时间:2014-12-05 09:53:47

标签: asp.net iis url-rewriting url-rewrite-module

我在搜索页面上工作,其上有很多过滤器,而我的客户端对查询字符串过敏。

当我添加更多过滤器时,我不得不为每个过滤器编写更多网址/重定向规则,并且它会成为指数

示例:

 <rule name="Case_TypeFilter_And_Filter_And_Search" stopProcessing="true">
        <match url="^cases/type/([a-zA-Z]+)/filter/(.+)/search/(.+)/cat/([a-zA-Z]+)/$"/>
        <action type="Rewrite" url="cases/search.aspx?claimtype={R:1}&amp;filter={R:2}&amp;search={R:3}&amp;cat={R:4}"/>
 </rule>

 <rule name="Case_ClientFilter_Type" stopProcessing="false">
      <match url="^cases/([0-9]+)/type/([a-zA-Z]+)/?$"/>
      <action type="Rewrite" url="cases/search.aspx?client={R:1}&amp;type={R:2}"/>
 </rule>

我是否使用通用规则将网址中的键和值重定向到查询字符串中?

转换它:http://foo.bar/cases/cat/2/search/hello/type/5

对此:http://foo.bar/cases/search.aspx?cat=2&search=hello&type=5

以及

转换它:http://foo.bar/cases/type/8/client/356/cat/10/search/world

http://foo.bar/cases/search.aspx?type=8&client=356&cat=10&search=world

0 个答案:

没有答案