我有 asp.net MVC 4 网站,文章 url 是:www.site.com/article/623/friendly-url-here
我不希望如果有人在没有友好 url 的情况下访问文章, 它将在不重定向和访问数据库两次的情况下完成(这会使页面加载速度变慢)。
现在:
进入 www.site.com/article/623 -> 进入 www.site.com/article/623
正如我想要的那样:
进入 www.site.com/article/623/the-article-nice-url
(注意添加的-article-nice-url)
更新:
我在 RouteConfig 中使用的路由:
// Articles
routes.MapRoute(
name: "Articles",
url: "articles/{articleId}/{friendlyUrl}",
defaults: new { controller = "PageManagement", action = "ViewArticle", articleId = UrlParameter.Optional, friendlyUrl = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
我使用 DbContext 存储数据时使用的页面元数据:
public class PageMetadata
{
[Key]
public int Id { get; set; }
public string RepresentationString { get; set; }
public DateTime CreationDate { get; set; }
public DateTime LastUpdateDate { get; set; }
public bool IsVisible { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public string Link { get; set; }
}