2012-10-09 128 views
1

目前我的url是這樣的:
www.mysite.com/venues/ < venueid>/< venuename>

www.mysite.com/venues/342/myvenue基於部分url的asp.net url重寫?

它很容易通過檢查「場地」

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

的發生,但對於新的網站,我想創造這樣的重寫我的網址URL看起來像這樣:
www.mysite.com/ < venuename> - < venueid>
eg
www.mysite.com/myvenue-342

我雖然創建檢查URL中的號碼,並使用重寫規則的,由於場地ID,但是這將導致一個問題,如果場地venuename這friendlyurl將包含一個數字,例如那麼「碼頭39」會變成「碼頭39-342」,或者有辦法捕獲友好鏈接中的最後一個id(因此最後一個破折號後面的id)並將其用作R:1的參數?

我已經看過這個博客:http://weblogs.asp.net/owscott/archive/2010/04/20/url-parts-available-to-url-rewrite-rules.aspx這似乎涵蓋了我的需求,但我不知道如何使用它。

回答

0

這條規則似乎做什麼,我需要:

<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>