Asp.net mvc Mvc 3重定向路由行为异常
我已经尝试解决这个问题好几天了,但都没有成功。 情况是,我已经将一个旧的web表单站点重写为mvc 3,并且有一堆旧的url:s需要重定向到新的url:s 这是global.asax中的两条路由的外观,它们应该捕获到对旧url:s的所有请求Asp.net mvc Mvc 3重定向路由行为异常,asp.net-mvc,asp.net-mvc-3,redirect,asp.net-mvc-routing,Asp.net Mvc,Asp.net Mvc 3,Redirect,Asp.net Mvc Routing,我已经尝试解决这个问题好几天了,但都没有成功。 情况是,我已经将一个旧的web表单站点重写为mvc 3,并且有一堆旧的url:s需要重定向到新的url:s 这是global.asax中的两条路由的外观,它们应该捕获到对旧url:s的所有请求 routes.MapRoute( "legacyevents", "events/{*slug}", new { controller = "Redirect", action = "
routes.MapRoute(
"legacyevents",
"events/{*slug}",
new { controller = "Redirect", action = "RedirectLegacyRoute" },
new[] { "Web.Controllers" }
);
routes.MapRoute(
"legacyarticles",
"articles/{*slug}",
new { controller = "Redirect", action = "RedirectLegacyRoute" },
new[] { "Web.Controllers" }
);
奇怪的是当一个请求看起来像这样
events/randomevent__12.aspx
一切正常,但如果事件中的E为大写事件/randomevent\uuuuuu12.aspx
asp.net某处在url中添加了另一个事件词,因此当它点击重定向控制器时看起来是这样的
events/events/randomevent__12.aspx
由于几年前我在编写web表单应用程序时缺乏SEO方面的知识,很多旧URL的传入链接大小写不一:所以我真的必须解决这个问题
应该处理文章的路由按预期工作,并且不关心传入请求url的大小写,这使得这种情况非常奇怪,因为路由指向同一个重定向控制器
任何帮助都将不胜感激,如果您需要任何其他信息,我将很乐意提供
致意
//K您知道在路由匹配中可以使用正则表达式的全部功能吗 参见示例