Создать ЧПУ

встречал сайты, в которых посты, категории , метки ,выглядят так:
site.ru/nazvanie-categorii/
site.ru/nazvanie-metki/
site.ru/nazvanie-posta/ т.е. вне зависимости от назначения , интернет страница всегда будет 1 уровня. (за исключением page):
site.ru/nazvanie-categorii/1/
site.ru/nazvanie-metki/1/ Придумал решение,но мой вариант кажется тормознутым, с точки зрения скорости. Представим что мы находимся на странице :
site.ru/nazvanie-categorii 1) Считываем URI строку.
2) парсим все до "/" и кладем результат в $name_post, т.е. nazvanie-categorii
3) теперь нужно узнать, что же мы такое спарсили! (категорию, метку или название поста) для этого:
4) select * posts where translate_name="nazvanie-categorii" {нашли, это пост, подключаем нужны контроллер} else {будем искать в других таблицах}
4) select * tags where translate_name="nazvanie-categorii"{нашли, это метка, подключаем нужны контроллер} else {будем искать в других таблицах}
4) select * category where translate_name="nazvanie-categorii"{нашли, это пост, подключаем нужны контроллер} else {будем искать в других таблицах} Работать то работает, но нам пришлось проанализировать целых 3 таблицы.
Подскажите, пожалуйста, есть ли другие варианта решения этой задачи?
Нужны именно такая ЧПУ...
site.ru/nazvanie-categorii/
site.ru/nazvanie-metki/
site.ru/nazvanie-posta/ т.е. вне зависимости от назначения , интернет страница всегда будет 1 уровня. (за исключением page):
site.ru/nazvanie-categorii/1/
site.ru/nazvanie-metki/1/ Придумал решение,но мой вариант кажется тормознутым, с точки зрения скорости. Представим что мы находимся на странице :
site.ru/nazvanie-categorii 1) Считываем URI строку.
2) парсим все до "/" и кладем результат в $name_post, т.е. nazvanie-categorii
3) теперь нужно узнать, что же мы такое спарсили! (категорию, метку или название поста) для этого:
4) select * posts where translate_name="nazvanie-categorii" {нашли, это пост, подключаем нужны контроллер} else {будем искать в других таблицах}
4) select * tags where translate_name="nazvanie-categorii"{нашли, это метка, подключаем нужны контроллер} else {будем искать в других таблицах}
4) select * category where translate_name="nazvanie-categorii"{нашли, это пост, подключаем нужны контроллер} else {будем искать в других таблицах} Работать то работает, но нам пришлось проанализировать целых 3 таблицы.
Подскажите, пожалуйста, есть ли другие варианта решения этой задачи?
Нужны именно такая ЧПУ...
13 сентября 2015 в 22:07
Ближайшие курсы
Онлайн интенсив "Основы управления продуктом"
Онлайн интенсив "Основы управления продуктом"
27
февраля
Как стать фрилансером?
Онлайн-курс
27
февраля
Интенсив Инструменты управления проектами
Интенсив Инструменты управления проектами
27
февраля
Новые статьи

Как защитить Windows: системный подход
12400

«После Scratch поняла, что не хочу бросать программирование»
51000

Что такое MVP и зачем его делать
43600