Intelligencia UrlRewriter.NET在IIS 6上无法正常工作?

时间:2009-12-08 15:39:29

标签: asp.net iis-6 url-rewriting urlrewriter.net

我在使用以下语法时遇到问题:

<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上搜索文档,但此时,它似乎是他们的网站离线或不再使用。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好的,很抱歉回答我自己的问题,但我在发布后立即想出了解决方案。我很可能拥有与创建这些规则时使用的UrlRewriter.NET不同的版本。将语法更新为以下内容,解决了问题:

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

修改
我能够确认我们的生产环境使用的是Intelligencia.UrlRewriter 1.7.0版,但我使用的程序集是2.0。