重写url时更改Querystring值

时间:2014-02-06 23:45:26

标签: c# asp.net url-rewriting

我有一个婴儿名称的网站,用于过滤性别我有一个查询字符串"性别"那将有价值: 0:女孩 1:男孩 2:两个

现在我想重写这样的网址:

http://www.mysite.com/girl_names   ==>    http://www.mysite.com?gender=0
http://www.mysite.com/boy_names   ==>    http://www.mysite.com?gender=1
http://www.mysite.com/boy_and_girl_names   ==>    http://www.mysite.com?gender=2

在下面的代码中如何将值修改为1而不是男孩,0而不是女孩和2而不是boy_and_girl

<rewrite>
  <rules>
     <rule name="Filter By Gender" enabled="true" stopProcessing="true">
      <match url="(.+)_names" /><action type="Rewrite" url="default.aspx?gender={R:1}"/>
    </rule>              
    <!-- some more rules-->
  </rules>
</rewrite>

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码..

<rewrite>
  <rules>
     <rule name="Filter By Gender" enabled="true" stopProcessing="true">
      <match url="(.+)_names" /><action type="Rewrite" url="default.aspx?Gender=$1"/>
    </rule>              
    <!-- some more rules-->
  </rules>
</rewrite>

这里$ 1转换为您的给定值。