簡體   English   中英

捕獲 Next.js 中的所有動態路由會導致使用下一個站點地圖 package 在站點地圖中產生不需要的鏈接

[英]Catch all dynamic route in Next.js results in unwanted link in sitemap using next-sitemap package

在我的Next.js應用程序中,我使用了動態路由的捕獲所有功能。 當我使用 package下一個站點地圖創建站點地圖時,我在文件sitemap-0.xml中看到了一個鏈接,如下所示:

https://example.com/posts/1/2/3/4/5

我相信這對應於文件 [...posts.js] 中的 getStaticPaths function,如下所示:

export async function getStaticPaths() {
    const dbRows = await getPostIds();
    const postIds = dbRows.map(post => post['post_id'])
    return {
        paths: [{params: {postId: postIds}}],
        fallback: 'blocking',
    }
}

幸運的是,下一個站點地圖 package 提供了排除頁面的功能。 所以這對我來說可能是一個解決方案。 盡管不知何故我覺得除了使用排除配置之外,解決方案是在Next.js本身或下一個站點地圖 package 本身。

我通過提供所有路徑參數而不只是一組帖子 ID 解決了這個問題。

解決方案:

paths: 

    [{params: {postId: ['Python', '1']}},
            {params: {postId: ['Java', '2']}}]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM