回复于:bbPress 链接重构与批量替换操作指南(NewVFX 案例)

社区话题 bbPress 论坛系统(bbPress Forum System) bbPress 链接重构与批量替换操作指南(NewVFX 案例) 回复于:bbPress 链接重构与批量替换操作指南(NewVFX 案例)

#509

追光
管理员

上面的规则完整的匹配了99%的链接,配置的 Nginx 重定向规则中,只匹配了 URL 的“完全等价”路径,但未考虑末尾是否带有斜杠(/)的问题。但存在一些细微的缺陷:

✅ /forums/topic/12345 能跳转
❌ /forums/topic/12345/ 无法跳转

1、解释:
([0-9]+) 匹配 topic ID
/? 匹配 可选的斜杠
$ 保证路径匹配结束

2、如果还有 query 参数也想保留(比如 ?sort=asc),这样 ?xxx=yyy 会跟随跳转。

location ~ ^/forums/topic/([0-9]+)/?$ {
    return 301 /topic/$1;
}
location ~ ^/forums/forum/([0-9]+)/?$ {
    return 301 /forum/$1;
}
location ~ ^/forums/users/(.+)/?$ {
    return 301 /users/$1;
}
location ~ ^/forums/members/(.+)/?$ {
    return 301 /members/$1;
}
location ~ ^/forums/reply/([0-9]+)/?$ {
    return 301 /reply/$1;
}