如何在Nextjs中将动态路由定向到同一页面

时间:2021-07-20 09:30:58

标签: next.js

我有 2 个这样的链接,都指向 1 个页面,我该怎么办?

path 1: '/:language/:type/:name' ("en/doctor/balestra")

path 2: '/:type/:name' ("doctor/balestra")

如果不是,语言将默认为 "en"

我尝试使用重写,但 nextjs 不接受

enter image description here

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找这个(我假设您正在使用 Next.js v10.0.0 或更高版本并使用内置的 i18n 路由)

module.exports = {
    i18n: {
        locales: ["en", "fr", "de"],
        defaultLocale: "en",
    },

    async redirects() {
        return [
            {
                source: "/:type/:name",
                permanent: true,
                destination: "/profile/:type/:name",
            },
        ];
    },
};

这会将 /aa/bb/en/aa/bb 重定向到 /profile/aa/bb。注意 there is no prefix for default locale(在本例中为 en),但其他语言环境将带有前缀,即 /fr/aa/bb 将重定向到 /fr/profile/aa/bb