URL Rewrting中的ASP.NET尾随斜杠问题

时间:2012-03-31 14:50:06

标签: asp.net iis-7 url-rewriting

我正在使用Intelligencia UrlRewriter进行网址重写,我唯一的问题是尾随斜杠。 我在web.config

中有这条规则
<rewrite url="~/moviesarchive/(.+)" to="~/MoviesArchive.aspx?p=$1" />

当我使用http://localhost/site/moviesarchive/1时,它处理了p参数为空或空http://localhost/site/MoviesArchive.aspx时的情况,但当我删除尾部斜杠时,http://localhost/site/moviesarchive或我使用http://localhost/site/moviesarchive/,我收到HTTP Error 404.0 - Not Found错误。我该如何解决?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

在您的页面加载事件中添加:

    Dim rawUrl As String = HttpContext.Current.ApplicationInstance.Request.RawUrl
    If Not rawUrl.EndsWith("/") Then
        HttpContext.Current.ApplicationInstance.Response.RedirectPermanent(String.Format("~{0}/", rawUrl))
    End If