【问题标题】:Dynamic rewrite url in nuxtnuxt 中的动态重写 url
【发布时间】:2021-12-08 06:00:24
【问题描述】:

我想要的是与 wordpress 具有相同的行为,但使用 nuxt。

在我的页面文件夹中,我的结构如下:

index.vue
-tools
--_id.vue
--index.vue
-material
--_id.vue
--index.vue

我的 nuxt 将为这些生成相应的路由; 所以我们将使用这个 url 示例mydomain.com/tools/1,在这个页面中,我有所有与存储在我的数据库中的工具 id 1 相关的内容;我想在我的数据库中存储这个mydomain.com/tools/1,与重写的urlmydomain.com/tools/my-first-tools相关联; my-first-tools 在这里我可以随时更新它,但它总是与mydomain.com/tools/1 相关,所以最后当我登陆mydomain.com/tools/my-first-tools 时,我想要与mydomain.com/tools/1 相同的内容以及与mydomain.com/tools/my-second-tools 相关的@987654330 @ 内容会被axios以id作为参数动态获取

有没有办法用 nuxt 制作它?

【问题讨论】:

    标签: vue.js routes url-rewriting nuxt.js


    【解决方案1】:

    您所描述的是slugs。在您的后端,您需要有一种方法来获取 slugid,但为什么不像 Stackoverflow 那样做呢?

    This website 在其 URL 中包含 idslug 用于 SEO 的组合。我们来看看这个网址:

    https://taskotto.com/blog/14/how-to-achieve-customer-satisfaction-in-5-steps-in-the-hostel-industry
    

    你看到SO有blog/{blogId}/{slug}吗?!你可以在你的应用中做同样的事情:

    mydomain.com/tools/1/my-first-tools
    

    这样您就不需要您的后端能够通过slugid 进行检索。您将只能通过id 检索。你必须重新排序你的 nuxt 文件夹才有意义:

    tools
    -- _index.vue
    -- _todoId
    --- _slug.vue
    

    【讨论】:

    • 听起来不错:),但如果我必须使用我所要求的(我不能使用 id/slug),有没有办法?
    • 但是如果您已经拥有:id,为什么不直接使用它呢?要么我不理解你的问题,要么我不明白为什么你不能使用 :id 你已经必须向你的后端发出请求
    • 我需要 id 来从数据库中检索内容,但是对于 SEO,我需要将 url 重写为一些从后台更新的漂亮 url,有交易
    • @MichelGisenaël 你确实意识到谷歌将索引mydomain.com/tools/1 而不是新生成的索引,对吧?!这就是为什么我在回答中建议了上述解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-07
    • 2011-06-02
    相关资源
    最近更新 更多