记录一次RankMath SEO 301正则表达式实列过程。
首先我自己其实不太理解正则表达式语法,但是通过chatgpt的梳理基本也能完成设置,chatgpt一开始给的表达式其实是错误的,经过不断调试才可以正常运行。
我的重定向需求:
product-category/a/ 重定向到 /products/a/
product-category/a/b/ 重定向到 /products/a/b/
product-category/a/b/c/ 重定向到 /products/a/b/c/
这是由于我使用页面制作了产品列表页面,但是我后台又对应有分类归档页面,为了避免重复,我需要做对应的301。
正则表达式
Source URL:^product-category/(.+)
注意:不要加开头的 /,Rank Math 的匹配路径 默认不带 / 开头。这是 Rank Math 的一个容易忽略的规则!
Destination URL:/products/$1
Match Type: Regex(必须勾选)
Redirection Type: 301
Status: Enabled ✅
下面是设置截图:

为什么这样写?
^product-category/ 匹配以该路径开头的链接
(.+) 表示捕获其后任意不为空的路径(包含多级子路径)
$1 替换为刚才匹配到的部分
