【问题标题】:change Querystring value when rewriting url重写 url 时更改 Querystring 值
【发布时间】:2014-02-07 14:49:45
【问题描述】:

我有一个用于过滤性别的婴儿姓名网站我有一个查询字符串“gender”,它具有以下值: 0:女孩 1:男孩 2:两者都有

现在我想像这样重写 url:

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>

【问题讨论】:

    标签: c# asp.net url-rewriting


    【解决方案1】:

    您可以使用以下代码..

    <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 转换为您的给定值。

    【讨论】:

    • 是的,我知道这一点。但是例如给定的值将是“男孩”,但我希望 $1 是“1”而不是“男孩”。我想知道我们是否可以更改值
    猜你喜欢
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    • 2011-01-16
    相关资源
    最近更新 更多