2010-02-01 33 views
1

我需要将应用程序中的一些旧页面重定向到新页面。我认为web.config中的urlMapping是实现此目的的有效方法。但也有另一种使用global.asax重定向的方法。哪一个是有效的方法。在请求执行的什么时候,这个asax和config文件会出现在图片中?哪个重定向更好 - web.config或global.asax

+0

你能提供的URL类型的更多细节。你想重定向? – Kane 2010-02-01 08:37:52

+0

我想将www.somesite.com/abc/123.aspx等网页重定向到www.somesite.com/def/123.aspx – 2010-02-01 08:44:16

回答

1

如果我映射现有的网页,以新的我会守在原地的旧网页并刷新301永久重定向到客户端。这将保留搜索引擎优化,假设这是一个公共网站。

Response.StatusCode = 301; 
Response.Status = "301 Moved Permanently"; 
Response.RedirectLocation = location; // static, configuration, or database 
Response.End(); 

总的来说,我会去重新路由而不是重写。这两个伟大的链接:

对于一些不同的方法重新路由之前的概述检查出Scott Gu's Tip/Trick: Url Rewriting with ASP.NET

0

使用URL Rewrite ISAPI筛选器进行重定向 - 它是较低级别的并且将首先运行,因此您不会在asp.net引擎中受到攻击。

我链接的页面也提到ASP.NET路由,它们之间的差异以及如何在两者之间进行选择。