目前我的网址看起来像这样:
www.mysite.com/venues/<venueid>/<venuename>
例如
www.mysite.com/venues/342/myvenue
通过检查“场地”的出现很容易为此创建重写网址
<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/<venuename>-<venueid>
例如
www.mysite.com/myvenue-342
我虽然创建了重写规则,用于检查网址中的数字并将其用作地点ID,但如果场地venuename和此友好包含一个数字,则会导致问题,例如然后“码头39”将成为“pier-39-342”,或者有没有办法捕获友好URL中的最后一个id(所以最后一个破折号后的id)并将其用作R:1的参数? / p>
我已经看过这个博客:http://weblogs.asp.net/owscott/archive/2010/04/20/url-parts-available-to-url-rewrite-rules.aspx这似乎涵盖了我的需求,但我不知道如何使用它。
答案 0 :(得分:0)
这条规则似乎符合我的要求:
<rule name="venue details">
<match url="^([a-zA-Z0-9-]+)-([0-9-]+)$" />
<action type="Rewrite" url="locationdetails.aspx?id={R:2}&furl={R:1}" />
</rule>