我真的很挣扎这个正则表达式。
我们正在推出新版本的“群组”功能,但需要支持同一 URL 中的所有旧群组。幸运的是,这两个功能具有不同的 url 模式,所以这应该很容易吗?对?
- 旧:domain.com/group/$groupname
- 新:domain.com/group/$groupid/$groupname
我在正则表达式中用于将旧组重定向到旧脚本的当前正则表达式是:RewriteRule ^(group/([^0-9/].*))$ /old_group.php/$1 [L,QSA]
在弹出一个名为domain.com/group/2009-neato-group的组之前,它一直运行良好
此时正则表达式匹配并强制新组使用旧代码,因为它包含数字。哎呀。
那么,关于匹配旧模式的正则表达式的任何想法,以便我可以重定向它?
它必须匹配的模式:
- 组/我的老组
- 组/另一个旧组/
- group/123-another-old-group-456/a-module-inside-the-group/
它无法匹配的模式:
- 组/12/一个新组
- 组/345/另一个新组/
- group/6789/a-3rd-group/module-abc/
我想到的最好方法是它不能以“group-slash-numbers-slash”开头,但无法将其转换为正则表达式。所以,否定这种模式的东西可能会起作用。
谢谢