【问题标题】:asp.net url rewrite based on part of url?asp.net url重写基于部分url?
【发布时间】:2012-09-29 19:29:03
【问题描述】:

目前我的网址如下所示:
www.mysite.com/venues//
例如
www.mysite.com/venues/342/myvenue

通过检查“venues”的出现来创建重写 url 非常容易

<rule name="view venue">
<match url="^venues/([0-9]+)?/??([a-zA-Z0-9-]+)?$" />
<action type="Rewrite" url="locationdetails.aspx?id={R:1}" />
</rule>

但是对于一个新网站,我希望我的网址看起来像这样:
www.mysite.com/-
例如
www.mysite.com/myvenue-342

虽然我想创建重写规则来检查 url 中的数字并将其用作场所 ID,但如果场所场所名称和此友好 URL 包含数字,例如,这将导致问题。然后“pier 39”将变为“pier-39-342”,或者有没有办法捕获友好 url 中的最后一个 id(所以最后一个破折号后的 id)并将其用作 R:1 的参数?

我已经看过这个博客:http://weblogs.asp.net/owscott/archive/2010/04/20/url-parts-available-to-url-rewrite-rules.aspx,它似乎满足了我的需求,但我不知道如何使用它。

【问题讨论】:

    标签: asp.net url-rewriting


    【解决方案1】:

    这条规则似乎可以满足我的需要:

        <rule name="venue details">
          <match url="^([a-zA-Z0-9-]+)-([0-9-]+)$" />
          <action type="Rewrite" url="locationdetails.aspx?id={R:2}&amp;furl={R:1}" />
        </rule>  
    

    【讨论】:

      猜你喜欢
      • 2011-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多