【问题标题】:Permanent redirection not working永久重定向不起作用
【发布时间】:2015-09-07 23:57:37
【问题描述】:

花了很多时间想知道为什么在 MVC 中进行永久重定向如此困难,我偶然发现了这个页面 http://www.eworldui.net/blog/post/2008/04/ASPNET-MVC---Legacy-Url-Routing.aspx,它看起来相当简单。

我下载了示例代码,将所有帮助类复制到一个新的 MVC 项目中,并将以下内容添加到 RouteConfig.RegisterRoutes() 方法中...

routes.Add("Jim1", new LegacyRoute("Default.aspx", "Home", new LegacyRouteHandler()));

这个想法是将 /Default.aspx 的请求映射到 /Home 。但是,这只会在浏览器中给出 404。调试时,它会在抛出“Invalid Url”异常的行上的 LegacyHandler.ProcessRequest() 方法中断。

有没有人用过这个代码可以提供建议?或者,有没有人有一个简单的解决方案?我有一个已转换为 MVC 的旧 ASP.NET WebForms 站点,并且想要设置重定向。我不敢相信这有多么困难。

有人有什么想法吗?

【问题讨论】:

    标签: asp.net asp.net-mvc http-redirect


    【解决方案1】:

    如果它对任何人有帮助,我进行了更多搜索,并找到了一个相当简单的解决方案。

    如果您查看this blog post,您会发现一种相当简单的方法,需要您在解决方案中添加一些类。我创建了一个新的类库,并将它们添加到那里。然后我从我的 MVC 项目中引用了它,并在我的 RegisterRoutes() 方法中添加了如下行...

    routes.MapLegacyRoute(null, "Default.aspx", new {controller = "Home", action = "Index"});
    routes.MapLegacyRoute(null, "About.aspx", new {controller = "Home", action = "About"});
    routes.MapLegacyRoute(null, "Contact.aspx", new {controller = "Home", action = "Contact"});
    

    工作就像一种享受!

    希望这对某人有所帮助。如果我早点找到它,我会节省几个小时!

    【讨论】:

      猜你喜欢
      • 2016-01-28
      • 2018-09-15
      • 1970-01-01
      • 1970-01-01
      • 2021-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多