我在搜索页面上工作,其上有很多过滤器,而我的客户端对查询字符串过敏。
当我添加更多过滤器时,我不得不为每个过滤器编写更多网址/重定向规则,并且它会成为指数
示例:
<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}&filter={R:2}&search={R:3}&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}&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