我需要将应用程序中的一些旧页面重定向到新页面。我认为web.config中的urlMapping是实现这一目标的有效方法。但是还有另一种使用global.asax重定向的方法。哪一个是有效的方式。在请求执行的什么时候,这个asax和配置文件会出现在图片中?
答案 0 :(得分:1)
如果我将现有页面映射到新页面,我会保留旧页面,并将301永久重定向刷新到客户端。这将保留SEO,假设这是一个公共站点。
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
答案 1 :(得分:0)
使用URL Rewrite ISAPI过滤器进行重定向 - 它是较低级别并且将首先运行,因此您不会在asp.net引擎上受到攻击。
我链接的页面还提到了ASP.NET Routing,它们之间的区别以及如何在两者之间进行选择。
答案 2 :(得分:0)
这是通过HttpHandler编写重定向的方法之一。
http://www.developerfusion.com/article/4643/implementing-http-handlers-in-aspnet/