2012-04-22 103 views
1

我已閱讀iis.net上的文章Creating Rewrite Rules for the URL Rewrite Module,我想從我的網站中刪除一些細分。IIS URL重寫規則 - 如何刪除某些段?

例如,從:

/article/archive/2289/01/articleid/191/reftab/36/word1 word2 word3 

到:

/article/articleid/191/word1-word2-word3 

我已經改變了我的web.config文件的,但我不能夠解決我的問題:

<rewrite> 
    <rules> 
    <rule name="Remove segments"> 
     <match url="^article/archive/2289/01/([0-9]+)/([_0-9a-z-]+)" /> 
     <action type="Rewrite" url="article/articleid/{R:1}/{R:2}" /> 
    </rule> 
    </rules> 
</rewrite> 

回答

0

它看起來像你試圖做倒退。 <match>元素表示友好的URL--用戶在瀏覽器中輸入的URL,鏈接中包含的URL以及IIS接收的URL。

<action>元素代表不友好的 URL - 如果您不使用重寫模塊,則必須使用該URL。

<match url="^article/articleid/([0-9]+)/([_0-9a-z-]+)" /> 
<action type="Rewrite" url="/article/archive/2289/01/articleid/{R:1}/reftab/36/{R:2}" /> 

這裏的問題是,你可能不想硬編碼2289/01,對不對?您需要將其合併到您的友好URL中,或者拿出一些中間處理程序來處理沒有這些數字的請求。