Как обработачь ссылки ЧПУ?

Здравствуйте, уважаемые пользователи. Читал интернет и ничего дельного не нашел.

В общем, есть у меня в базе данных таблица с информацией и таблица с категориями и подкатегориями к ним.

Вопрос как мне в файле php обработать отлавливание ЧПУ ссылок такого примера:
1) сайт.ком/новости/категория.html
2) сайт.ком/новости/категория/подкатегория.html
3) сайт.ком/новости/категория/подкатегория/новость.html

Как мне в файле php отловить все эти данные и произвести обработку на вывод информации. Спасибо
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
DevMan
@DevMan Куратор тега PHP
ничего архисложного в этом нет, достаточно лишь изучить тему роутинга (сопоставление определенного формата адреса с определенным кодом).
начать можно с гугла, введя в адресе "php routing", или сразу с гитхаба, введя тоже самое.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@senior65
А лучше начать с гугл запроса: php MVC, будет счастье!
Ответ написан
Алгоритм следующий, все запросы нужно направить на точку входа, например на index.php, в htaccess это делается примерно так
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]


Дальше в index.php получаем $_SERVER['QUERY_STRING']
и например подрезаем через trim слеши на конце, чтобы /новости и /новости/ открывало одно и тоже, или же регуляркой выбираем правильно.
Теперь подготовленный query_string ищем в объектах по базе, чаще первый пункт, например /новости означает что надо из таблицы новостей ловить.
В общем вам в помощь регулярки и preg_match
Ответ написан
mosesfender
@mosesfender
Меланхолик, параноик, падал с коек
Читал интернет и ничего дельного не нашел.

Правда читал?
Тыщ
Ответ написан
Могу ещё посоветовать посмотреть код какого-нибудь фреймворка - как это решается там. (В своё время мне существенно помогло "копание" в коде Zend-а)
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
16 июл. 2019, в 03:05
15000 руб./за проект
16 июл. 2019, в 02:57
5000 руб./за проект
16 июл. 2019, в 00:49
15000 руб./за проект