【发布时间】: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
我正在将 ASP 经典网站迁移到 ASP.net MVC。
有没有办法将旧流量重定向到新流量?
示例:如何去:
www.mydomain.com/viewpage.asp?pageid=1234
到:
www.mydomain.com/page/1234
【问题讨论】:
标签: asp.net-mvc asp-classic routing
研究这个问题,我发现最好的方法是:
我最终使用了 #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,但它不会更改客户端浏览器中的网址。
【讨论】:
看来您可能必须在 404 错误页面中使用 response.redirect 并将查询字符串输入映射到所需的新页面。绕道而行,但有效
【讨论】: