在多语言配置中使用重写来屏蔽 URL 目标文件
Masking a URL destination file using Rewrite in Multi language config
我正在尝试实施重写,如果目的地是“/dest”到“/new”,它将掩盖目的地
Next.js 文档建议如下
module.exports = {
async rewrites() {
return [
{
source: '/dest',
destination: '/new',
},
]
},
}
我很难将它插入我的代码,其中包含
rewrites: async () => nextI18NextRewrites(localeSubpaths),
publicRuntimeConfig: {
localeSubpaths,
},
我相信我了解问题所在。一个请求的多次重写是行不通的,它简单地采用第一个匹配的重写。在我的例子中是 { source: '/:lang(en)/:path*', destination: '/:path*' }.
因此,如果我在 ...nextI18NextRewrites(localeSubpaths) 上方添加我的重写,同时还为其手动添加 localeSubpath,它会起作用,例如
module.exports = {
rewrites: async () => {
return [
{
source: '/en/gardening/london',
destination: '/services/gardening/london',
},
...nextI18NextRewrites(localeSubpaths),
];
},
publicRuntimeConfig: {
localeSubpaths,
},
};
我正在尝试实施重写,如果目的地是“/dest”到“/new”,它将掩盖目的地 Next.js 文档建议如下
module.exports = {
async rewrites() {
return [
{
source: '/dest',
destination: '/new',
},
]
},
}
我很难将它插入我的代码,其中包含
rewrites: async () => nextI18NextRewrites(localeSubpaths),
publicRuntimeConfig: {
localeSubpaths,
},
我相信我了解问题所在。一个请求的多次重写是行不通的,它简单地采用第一个匹配的重写。在我的例子中是 { source: '/:lang(en)/:path*', destination: '/:path*' }.
因此,如果我在 ...nextI18NextRewrites(localeSubpaths) 上方添加我的重写,同时还为其手动添加 localeSubpath,它会起作用,例如
module.exports = {
rewrites: async () => {
return [
{
source: '/en/gardening/london',
destination: '/services/gardening/london',
},
...nextI18NextRewrites(localeSubpaths),
];
},
publicRuntimeConfig: {
localeSubpaths,
},
};