Очередность Правил Для Url

я-то думал, что ключи указанные в правилах в конфиге имеют значение при парсинге этих правил движком

печалька, что это не так

Они имеют значение. Обозначают в какую переменную пойдёт часть URL. А вот определить, какое правило из двух подходящих применить к /test/paramValue просто невозможно.

Ура! Все-таки я "перехитрил" движок и решил задачу =


'/<sect:[a-z0-9\_\-]+>/<subsect:\w+>' => 'site/handler',

'/<sect:[a-z0-9\_\-]+>/<page:[a-z0-9\_\-]+>' => 'site/handler',

теперь все работает как надо и вторым параметром может быть и подраздел раздела и статья раздела

Хитрость, я так понимаю, в наличии "-" в числе доступных символов?

:lol: ну слово “хитрость” я применил так… для красного словца!

оказалось, что если правило [color="#FF0000"][a-z0-9\_\-]+[/color] заменить на [color="#0000FF"]\w+[/color] то это проканывает - то есть парсер начинает отличать ключи, хотя по сути это одно и тоже с точки зрения регулярных выражений, за исключением того, что в \w нет дефиса

Посмотрю я на эту хитрость, когда в page не будет дефиса/подчеркивания :D

а что поделаешь? мир не совершенен…

линк подраздела - это всегда одно слово

линк статьи - всегда состоит из нескольких слов, которые лучше разделять дефисами

p.s.есть крошечное ограничение на обязательное использование в линке статьи дефиса, но меня это вполне устраивает

Ну по сути я этот вариант предложил в первом посте - вышестоящее правило должно быть менее "общим", чтобы дать шанс отработать следующим за ним правилам.

кто же отрицает?

только надо было понять - на каком уровне движок правила перестанет считать одинаковыми…