2012-10-18 57 views
0

我遇到了IIS7中Url Rewrite模塊的問題。我已經閱讀了幾篇關於這類問題的文章,我似乎無法弄清楚。無法用IIS7重寫URL Url重寫

這裏的規則:

<rule name="Imported Rule 11" stopProcessing="true"> 
    <match url="/s\/([\w\%20\s]+)\/default\.aspx" /> 
    <action type="Rewrite" url="\/landingpage.aspx\?mc={R:1}" 
    logRewrittenUrl="true" /> 
</rule> 

我進口它從以前的ISAPI INI過濾器看起來像下面這樣:

RewriteRule ^\/s\/([\w\-\_\%20\s]+)\/default\.aspx \/landingpage.aspx\?mc=$1 [L,I] 

我不得不調整正則表達式一點得到它與內置測試儀一起工作,但它與網址匹配

/s/RETQ211CA/default.aspx 

而且根據日誌請求通過爲:

2012-10-18 15:41:54 ::1 GET /s/RETQ211CA/default.aspx - 80 - ::1 Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+6.1;+WOW64;+Trident/4.0;+SLCC2;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30729;+.NET4.0C;+.NET4.0E) 404 0 0 1468 

這發生在本地或通過互聯網。

有人能告訴我我在這裏做錯了什麼嗎?

謝謝!

回答

1

下面的規則將做的伎倆:

s\/([\w\%20\s]+)\/default\.aspx 

你可以開始與這個規則^與$終止,如果你願意的話。

令人困惑的是,url重寫假定你在根目錄下。

+0

這樣做!不知道爲什麼我第一次這樣做沒有成功...... – wali