我有一个下一个12应用程序。我有一个SSR组件,其路由为/product 1232312321。
到目前为止,我的解决方案是创建两个文件夹,一个作为product,另一个作为[id]。然后从config.js重定向从/product/1232312321到/product 1232312321,如下所示:
{
source: '/product /:slug',
destination: '/product :slug',
permanent: true,
},
这个解决方案对我不再起作用了。有没有一种方法可以定义这个路由,而不像/product 1232312321这样的斜线?
2条答案
按热度按时间daupos2t1#
不建议这样做,但你可以创建页面文件[id].tsx(或js),然后使用传递的参数,你可以拉入
id
(“product1111”)并以这种方式呈现页面。请注意,这是非常糟糕的做法,并且会导致任何404都被定向到该页面,因此您需要进行一些参数检查以确保其格式为
product{id}
。我强烈建议您转向docs中提到的标准
/product/[id]
实践。krugob8w2#
试着像这样修改你的代码:
源是您正在访问的路径,目标是您尝试重定向到的路由。这样,当您转到“/product 12345678”时,它将被重定向到“product/12345678”,这是到Next的有效路由。请在此处查看Next Dynamic Routes的文档https://nextjs.org/docs/api-reference/next.config.js/redirects