永久重定向不起作用
Posted
技术标签:
【中文标题】永久重定向不起作用【英文标题】: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 站点,并且想要设置重定向。我不敢相信这有多么困难。
有人有什么想法吗?
【问题讨论】:
【参考方案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");
工作就像一种享受!
希望这对某人有所帮助。如果我早点找到它,我会节省几个小时!
【讨论】:
以上是关于永久重定向不起作用的主要内容,如果未能解决你的问题,请参考以下文章
http到https重定向使用htaccess在角度6中不起作用