首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >旧页面的URL路由和永久页面重定向

问旧页面的URL路由和永久页面重定向
EN

Stack Overflow用户
提问于 2012-06-13 18:58:31
回答 4查看 3.3K关注 0票数 1

假设我们公司有一个网站,该网站是由asp.net web form v1.1开发的。它已经运行了5年。人们通过关键词搜索谷歌,并获得链接到我们的site...it,这意味着谷歌缓存了我们网站的所有页面。现在我们公司计划使用asp.net 4.0开发我们的网站,我们公司的首席技术官希望使用asp.net 4.0的路由功能来进行搜索引擎友好。我知道如何使用url路由feature....here是url路由的小样本片段。

​

​

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-06-13 19:08:50

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

使用.NET框架v4:

代码语言:javascript
复制
Response.RedirectPermanent("NewPage.aspx");

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

这将把请求重定向到正确的位置,并返回一个301 ...

票数 1
EN

Stack Overflow用户

发布于 2012-06-13 19:36:12

如果你通过MVC来做这件事,你总是必须管理那些旧的路由。我认为最好的方法是在这种情况下直接使用IIS。IIS中的url模块允许您非常轻松地配置永久重定向。

票数 1
EN

Stack Overflow用户

发布于 2012-06-13 19:09:19

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

代码语言:javascript
复制
routes.MapRoute(
            "BooksCategory", // Route name
            "products/books.aspx", // URL with parameters
            new { controller = "Products", action = "Browse", category = "Books" }
        );

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11013428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档