Организация ЧПУ, ЧПУ в kohana?

Ранее мне не доводилось сталкиваться с организацией ЧПУ (человеко понятный url). В общем и целом вроде бы понятно, но хотел уточнить некоторые моменты. Возможно я заблуждаюсь и организовывается все гораздо проще.

Сейчас, например, url имеют подобный вид, к примеру:

www.sitename.com/page/id
www.sitename.com/category/id
www.sitename.com/item/id

page , category , item - контроллеры . id - идентификатор.

Мне нужно получить url's вида,

www.sitename.com/nazvanie_stranicy
www.sitename.com/avtomobili_legkovye
www.sitename.com/kakaja-to_super_mashina

Эти роуты добавляет автор при добавлении материала самостоятельно.

Получается должна быть создана таблица URL , на подобие

id - идентификатор ЧПУ;
url - строка url;
route - данные о контроллере, экшене, id;
state - флаг состояния удален не активен и т.д;

url уникальное - поле, route скорее всего также уникальное.

Соответственно на основе таблицы модель URL.

Вопрос в какой момент производить перехват url, работу с моделью, сравнение с роутом? Т.е как правильно вызвать данный роут по url.

Правильно ли я понимаю, что при этом, на сайте страницы будут доступны по двум url?

Возможно есть материалы по данному вопросу? Или модули решающие данную задачу касательно kohana framework .
  • Вопрос задан
  • 2630 просмотров
Решения вопроса 2
@krll-k
Лямда функции стало возможно использовать еще в 3.2, - если мне не изменяет моя память, - ну и php нужен соответствующий


Это <<все что я могу предложить вам>> - пользуйтесь поиском!
Ответ написан
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
Нужно сделать дефаултовый роут ведущий на базовый контроллер - который определяет к какому разделу относится чпу и второй внутренний роут для переадресации с базового на контроллеры разделов. Но на мой взгляд те урлы что были вначале намного читабильнее + не надо гемороится с проверками на уникальность чпу по сравнению с другими разделами.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы