я-то думал, что ключи указанные в правилах в конфиге имеют значение при парсинге этих правил движком
печалька, что это не так
я-то думал, что ключи указанные в правилах в конфиге имеют значение при парсинге этих правил движком
печалька, что это не так
Они имеют значение. Обозначают в какую переменную пойдёт часть URL. А вот определить, какое правило из двух подходящих применить к /test/paramValue просто невозможно.
Ура! Все-таки я "перехитрил" движок и решил задачу =
'/<sect:[a-z0-9\_\-]+>/<subsect:\w+>' => 'site/handler',
'/<sect:[a-z0-9\_\-]+>/<page:[a-z0-9\_\-]+>' => 'site/handler',
теперь все работает как надо и вторым параметром может быть и подраздел раздела и статья раздела
Хитрость, я так понимаю, в наличии "-" в числе доступных символов?
ну слово “хитрость” я применил так… для красного словца!
оказалось, что если правило [color="#FF0000"][a-z0-9\_\-]+[/color] заменить на [color="#0000FF"]\w+[/color] то это проканывает - то есть парсер начинает отличать ключи, хотя по сути это одно и тоже с точки зрения регулярных выражений, за исключением того, что в \w нет дефиса
Посмотрю я на эту хитрость, когда в page не будет дефиса/подчеркивания
а что поделаешь? мир не совершенен…
линк подраздела - это всегда одно слово
линк статьи - всегда состоит из нескольких слов, которые лучше разделять дефисами
p.s.есть крошечное ограничение на обязательное использование в линке статьи дефиса, но меня это вполне устраивает
Ну по сути я этот вариант предложил в первом посте - вышестоящее правило должно быть менее "общим", чтобы дать шанс отработать следующим за ним правилам.
кто же отрицает?
только надо было понять - на каком уровне движок правила перестанет считать одинаковыми…