假设我想发布(比如在纸质目录中)一些易于输入/记住的“短 URL”,但我希望它们重定向到一个冗长的、对 SEO 友好的 URL。如何使用 MVC 路由实现这一点?
例子:
变成
http://mysite.com/travel/planning-your-disney-vacation(以“旅行”为控制器)
我尝试过的事情:
只需为它设置一条路线。问题:浏览器中的 URL 没有改变(它保持“/disney”。
使用 NuGet 包 RouteMagic(请参阅Haacked 的文章)。 问题:我收到一个错误:RouteData 必须包含一个名为“controller”的项目,其值为非空字符串。我认为这是因为我的控制器(“travel”)之前没有像他那样(带有“foo”和“bar”)的静态词???
- 使用重定向模块(如Ian Mercer 的)。问题:当创建我不想要的 URL 时,路由与我的 HTML.ActionLinks 匹配(Haacked 在他的文章中提到了这一点,并说这就是为什么他让 GetVirtualPath 返回 NULL ...?)
我没有想法,所以任何将不胜感激!谢谢!