2009-12-08 36 views
0

我有收到以下的語法問題的工作:Intelligencia UrlRewriter.NET在IIS 6上無法正常工作?

<rewriter> 
    <!-- This does NOTHING --> 
    <if url="whywontthiswork\.aspx" rewrite="/default.aspx" /> 

    <!-- This redirects correctly --> 
    <redirect url="whywontthiswork\.aspx" to="/default.aspx" /> 
</rewriter> 

如前所述,第一個規則不執行任何操作,不管我怎麼努力。該頁面請求的響應中的X-Powered-By字段始終表示「ASP.NET」。但是,第二條重寫規則始終有效,並且該請求的響應中的X-Powered-By字段爲「ASP.NET,UrlRewriter.NET 2.0」。

我相信IIS配置正確,因爲它正在正確處理請求<redirect />。問題是我沒有任何想法,爲什麼第一個重寫規則不會執行。

我試過搜索UrlRewriter.NET的文檔,但是目前看起來他們的網站如果離線或不再使用。有任何想法嗎?

回答

0

好的,很抱歉回答我自己的問題,但我在發佈後不久就想出瞭解決方案。我很可能擁有與創建這些規則時使用的版本不同的UrlRewriter.NET版本。更新語法以下,解決了這個問題:

<if url="whywontthiswork\.aspx"> 
    <rewrite url="whywontthiswork\.aspx" to="/default.aspx" /> 
</if> 

編輯:
我可以證實,我們的生產環境使用Intelligencia.UrlRewriter版本1.7.0,但我所用的組件爲2.0 。

相關問題