Есть таблица "страницы" id | pid | url | name | ...
Вложенность страниц любая.
К примеру, получаем полный URL site.ru/auto/audi/q5/
Как делаю это я.
1. Разбираю URL на части и нахожу последний элемент "q5" (explode(), end())
2. Делаю запрос в БД на наличие записи
SELECT * FROM `pages` WHERE `url` = 'q5'
3. Тк у нас может быть несколько запсей с 'q5' (вложенность-то разная) то создаю полный путь для ЭТИХ найденных строк. (Через рукурсию с использованием id, pid)
К примеру получили массив
1) auto/audi/q5/
2) news/q5/
3) auto/dillers/q5/
4. Сравниваю полный URL со значениями по пункту 3.
Может как-то легче можно всё сделать или всё верно? Я не могу найти в инете, как такое реализуют, тк не пойму как это НАЗВАТЬ. Хранить ПОЛНЫЙ URL в БД не уверен, что правильно. Учитывая, что уже на сайте 15.000 записей. Нужно бы что-то универсальное.
_____________
..Работает - не трогай!