【问题标题】:Is is possible to make SEO friendly Url's in ASP.NET Core like this one有可能像这样在 ASP.NET Core 中制作 SEO 友好的 Url
【发布时间】:2018-05-27 04:23:45
【问题描述】:

我想问你们是否有可能为我的项目/{action}/{title}做一些这样的路由?

我想知道这是否可能,这个网址也必须是主键吗?由于没有传递 ID 来知道这是哪篇博文。

谢谢。

【问题讨论】:

    标签: asp.net-core-mvc asp.net-mvc-routing asp.net-core-2.0 asp.net-routing


    【解决方案1】:

    您可以通过属性路由轻松做到这一点:

    [Route("blogs")]
    public class BlogController
    {
        [AcceptVerbs("GET", "HEAD", Route = "{slug}")]
        public IActionResult View(string slug)
        {
        }
    }
    

    这会将所有对/blogs/whatever 的请求映射到该操作,并将slug 设置为“/blogs/”之后的值。

    【讨论】:

    • 这意味着每篇博文都应该在 DB 上有一个 slug 列来确定哪个是正确的?
    • 这就是我博客上的内容。每篇文章的 slug 都是独一无二的。
    • 太好了,谢谢。另外,如果有两个标题相同的帖子,我应该如何处理?
    • 每篇文章的 slug 应该是唯一的。因此,如何生成它取决于您。您可以自动生成它,但随后允许用户在需要时对其进行修改。然后,如果唯一性约束在 DB 中失败,则在编辑器中返回它不是唯一的错误。顺便说一句,我也更新了我的答案,因为您可能想要接受 HEAD 和 GET 请求。
    • 好吧。非常感谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-14
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    • 2011-04-06
    相关资源
    最近更新 更多