我的网站正在改变URL结构,我有1000个页面。对于SEO,我想在我的next.config.js文件中设置一个Regex重定向,但官方文档并没有真正帮助我的情况,因为我的页面有以下结构:
/product-name-price/
新的结构将是:
/price/product-name
更新日期:
我已经设法让/product-name-price
重定向到/price/product-name-price
,并对next.config.js做了以下更改:
async redirects() {
return [
{
source: '/:product',
destination: '/price/:product',
permanent: true,
}
]
}
如何在next.config.js文件中操作:product
参数,以排除product-name-price
的-price
部分,从而使最终的url为/price/product-name
?
2条答案
按热度按时间9w11ddsr1#
我使用中间件解决了这个问题,因为似乎不可能在next.config.js中修改重定向目标的参数。
第一个条件检查请求路径名是否以
-price
结尾,然后通过拆分字符串重定向到没有-price
的相同路径,状态代码为308。第二个条件检查请求路径名是否包含
price.php
,在这种情况下,它还具有查询参数“brand”。它采用此参数的值,并再次通过拆分字符串重定向到/price/product-name
结构,其中“product-name”等于“brand”的值。我已经使用308重定向搜索引擎优化的目的,以表明这是一个永久重定向到谷歌。
k7fdbhmy2#
您可以在
next.config
中使用RegEx来执行此操作:正则表达式路径匹配它将是这样的:
@user3536141,如果你提供用例及其变体(如果有的话),我可以尝试用一个更准确的例子来帮助你。