首页 > 代码库 > Response.Redirect()和Response.RedirectPermanent()区别

Response.Redirect()和Response.RedirectPermanent()区别

在ASP.NET4.0之前,开发人员经常使用Response.Redirect()方法,用编程的手法,将对老的URL的请求转到新的URL上。

但许多开发人员没有意识到的是,Response.Redirect()方法发的是个 HTTP 302 Found (临时转向) 回复,会在用户尝试访问

老的URL时,导致多余的HTTP往返。搜索引擎一般不会跟随多个重新转向跳转,意味着使用一个临时转向会负面影响你的网页排名。

随着ASP.NET的发展,在ASP.NET 4中引进了一个新的Response.RedirectPermanent(string url)辅助方法,可以用来做一

个HTTP 301 (永久性重定向)重新定向。这会导致能识别永久性重新定向的搜索引擎和其他用户代理保存和使用与内容相关联的

新URL。这会使你的内容编入索引,你的搜索引擎页面排名得到提高。

其实,早在ASP.NET MVC 中也有类似的代码:Response.RedirectToRoute(string routeName) 和

Response.RedirectToRoutePermanent(string routeName)辅助方法,可以用来通过URL导向引擎做临时或永久性的重新定向。

现在已经用到ASP.NET 4.0 Web Forms中。通常用Response.RedirectPermanent() 方法来进行SEO网站优化。