【问题标题】:How to setup MVC routes to handle old ASP classic pages redirects如何设置 MVC 路由来处理旧的 ASP 经典页面重定向
【发布时间】:2009-06-26 17:34:37
【问题描述】:

我正在将 ASP 经典网站迁移到 ASP.net MVC。
有没有办法将旧流量重定向到新流量?

示例:如何去:

www.mydomain.com/viewpage.asp?pageid=1234

到:

www.mydomain.com/page/1234

【问题讨论】:

    标签: asp.net-mvc asp-classic routing


    【解决方案1】:

    研究这个问题,我发现最好的方法是:

    1. 使用重定向引擎(如urlrewriter.net
    2. BeginRequest 方法中的重定向

    我最终使用了 #2,因为它对我的项目来说更简单

    Sub Application_BeginRequest(ByVal sender As Object, _
                                            ByVal e As System.EventArgs)  
       Dim fullOriginalpath As String = Request.Url.ToString.ToLower
    
       If (fullOriginalpath.Contains("/viewpage.asp?pageid=")) Then
          Context.Response.StatusCode = 301 'issue a permanent redirect'
          Context.Response.Redirect("/page/" + getPageIDFromPath(fullOriginalpath))
        End If
    
    End Sub
    

    您也可以使用Context.RewritePath,但它不会更改客户端浏览器中的网址。

    【讨论】:

      【解决方案2】:

      看来您可能必须在 404 错误页面中使用 response.redirect 并将查询字符串输入映射到所需的新页面。绕道而行,但有效

      【讨论】:

        猜你喜欢
        • 2012-01-22
        • 2012-06-12
        • 2011-06-19
        • 1970-01-01
        • 2023-03-10
        • 1970-01-01
        • 1970-01-01
        • 2012-06-16
        • 2019-04-18
        相关资源
        最近更新 更多