【问题标题】:URL routing and permanent page redirection for old page旧页面的 URL 路由和永久页面重定向
【发布时间】:2012-06-16 07:48:11
【问题描述】:

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

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

【问题讨论】:

    标签: asp.net asp.net-mvc routes http-status-code-301


    【解决方案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...

    【讨论】:

    • 我猜你们不明白我的要求。我需要逻辑来确定请求的页面是旧页面名称,现在它已与文件夹结构一起更改。所以当页面是旧页面并且现在不可用时,它应该通过路由重定向到正确的页面。我希望我清楚我想要什么?
    • 也许吧。但也许你不明白你收到的答案。当页面 URL 更改时,您有两个主要目标 - 将请求发送到正确的位置,并让请求者知道页面已被永久移动(HTTP 301 永久重定向)。如果没有 301,谷歌(和其他推荐人)将继续将流量发送到错误的位置 - 使用 301,他们知道将流量发送到新位置。您可以通过路由来完成此操作,也可以在 IIS 中更早地处理它。
    【解决方案2】:

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

    【讨论】:

    • 我猜你们不明白我的要求。我需要逻辑来确定请求的页面是旧页面名称,现在它已与文件夹结构一起更改。所以当页面是旧页面并且现在不可用时,它应该通过路由重定向到正确的页面。我希望我清楚我想要什么?
    【解决方案3】:

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

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

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

    【讨论】:

    • 我猜你们不明白我的要求。我需要逻辑来确定请求的页面是旧页面名称,现在它已与文件夹结构一起更改。所以当页面是旧页面并且现在不可用时,它应该通过路由重定向到正确的页面。我希望我清楚我想要什么?
    【解决方案4】:

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

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

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

    【讨论】:

    • 我猜你们不明白我的要求。我需要逻辑来确定请求的页面是旧页面名称,现在它已与文件夹结构一起更改。所以当页面是旧页面并且现在不可用时,它应该通过路由重定向到正确的页面。我希望我清楚我想要什么?
    猜你喜欢
    • 1970-01-01
    • 2016-03-23
    • 2011-12-14
    • 2015-02-09
    • 1970-01-01
    • 2015-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多