2012-09-14 117 views
-1

我有asp.net webform网站,我已经迁移到asp.net mvc。.Aspx页面请求控制器操作

现在我想做301永久重定向我的旧.aspx页面请求到asp.net mvc控制器操作。

有人可以详细解释如何将.aspx页面请求重定向到asp.net mvc控制器/操作。

谢谢。

回答

1

最简单的办法就是打电话:

Response.RedirectPermanent(newUrl); 

这将提供301到浏览器。

编辑: 所以看起来你已经删除了ASPX页面,所以物理页面不再存在,导致404页面。你仍然可以通过将代码处理到Global中来解决这个问题。 asax,类似于:

protected void Application_BeginRequest(object sender, EventArgs e) 
{ 
    if (Request.Url.AbsolutePath == "/SomePage.aspx") 
    { 
     Response.RedirectPermanent("~/SomePage"); 
    } 
} 
+0

这是ASP.NET 4.0+。如果你在一个较老的框架中,有一些方法可以实现它 - 我认为这是一个有效的方法 - Response.Status =“301永久移动”; Response.AddHeader(“Location”,“http://newsite.com/Whatever”);' –

+0

每当你用.aspx输入任何东西时,它会产生404没有找到的异常,所以基本上我最终可以在全局的Application_Error事件中编写代码.ascx现在我有整个网站的网址,它对Global.ascx来说太多了 –