Я действительно борюсь с этим регулярным выражением.
Мы запускаем новую версию функции «групп», но нам нужно поддерживать все старые группы по одному и тому же 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
В этот момент регулярное выражение сопоставило новую группу со старым кодом, поскольку оно содержало числа. По электронной почте Ой.
Итак, есть ли какие-нибудь мысли о регулярном выражении, которые бы соответствовали старому шаблону, чтобы я мог перенаправить его?
Шаблоны, которым он должен соответствовать :
- группа / моя старая-группа
- группа / другая старая-группа /
Шаблоны, которым он не может соответствовать :
- группа / 12 / а-новой группы
- группа / 345 / другая новой группа /
- группа / 6789 / а-третья-группа / модуль-а /
Лучший способ, о котором я думал, это то, что он не может начинаться с "group-slash-numbers-slash", но не смог превратить это в регулярное выражение. Так что что-то, что могло бы отрицать этот паттерн, вероятно, сработало бы.
Спасибо