1

假设我们公司有一个由asp.net web form v1.1开发的网站。它已经运行了 5 年。人们通过关键字搜索谷歌并获得链接到我们的网站...这意味着谷歌缓存了我们网站的所有页面。现在我们公司计划用 asp.net 4.0 开发我们的网站,我们公司的 CTO 想使用 asp.net 4.0 的路由功能来对搜索引擎友好。我知道如何使用 url 路由功能....这里是 url 路由的小示例片段。

在此处输入图像描述

我们的新网站页面名称将更改。所以当有人搜索谷歌并获取链接时,当点击这些链接时,请求将来到我们的网站,但页面未找到将显示,因为页面名称将被更改。因此,如何以这样的方式编写逻辑,因为当旧请求到来时,路由将重定向到正确的页面,并为谷歌进行永久重定向,因为下次用户将获得正确的页面 url。所以我关心的是如果旧页面不存在,如何编写将用户驱动到正确页面的逻辑,用户将使用路由重定向到正确的页面。请帮助我的代码和概念。谢谢

4

4 回答 4

1

您需要使用 HTTP 301 永久重定向

使用 .NET Framework v4:

Response.RedirectPermanent("NewPage.aspx");

编辑:我跳得太快了......一个好的 MVC 解决方案是:http ://www.eworldui.net/blog/post/2008/04/25/ASPNET-MVC-Legacy-Url-Routing.aspx

这会将请求重定向到正确的位置并返回 301...

于 2012-06-13T11:08:50.233 回答
1

如果您通过 MVC 进行操作,您将始终需要管理这些旧路由。我认为最好的方法是直接在这种情况下使用 IIS。IIS 中的 url 模块允许您非常轻松地配置永久重定向。

于 2012-06-13T11:36:11.687 回答
0

我不是 MVC 专家,实际上是初学者,所以我想到的解决方案是您必须为现有页面注册所有路由,例如:

routes.MapRoute(
            "BooksCategory", // Route name
            "products/books.aspx", // URL with parameters
            new { controller = "Products", action = "Browse", category = "Books" }
        );

您可以根据需要对其进行增强。

于 2012-06-13T11:09:18.920 回答
0

我建议使用这些工具的混合体。您应该返回 301,因为它是永久移动。谷歌在开始扫描你的新网站时应该注意到这一点。

我建议您还需要将旧网址分开,这样它们就不会干扰当前网站。在将来的某个时候,也许当这个新站点成为旧站点时,您会想要组织您的网址。通过了解应用程序需要什么以及 SEO 需要什么可能会有所帮助。

您可能可以使用 IIS 和它的重定向模块进行 SEO 重定向。另外,看看 Googles(和 Bings)网站管理员工具。他们应该帮助您了解搜索引擎在您的网站上看到的内容。

于 2012-06-13T11:50:16.840 回答