Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
15 / 15 / 1
Регистрация: 19.10.2012
Сообщений: 570
1

ЧПУ на своем мини-сайте

19.05.2017, 08:29. Показов 541. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет.
Делаю что-то типа своей мини-цмс, или фреймворка... Вырастет-само решит. Из интереса.
Посмотрел материал по теме работы с адресами. Много где рассказывается как работать с параметрическими адресами, а вот с чпу материала мало, а по нужной мне структуре - не нашел.
Мне нужно что-то вроде сайт.ру/обо мне/мои увлечения/первое увлечение/интересные случаи/случай . Что хотел показать этой структурой - произвольная вложенность. Так же хочется запилить сразу изменение структуры. Чтобы как в битриксе можно было изменять структуру разделов. Наверное, самая большая проблема. Есть в голове одна мысль, как хранить структуру чпу в бд, но она пока, так сказать, абстрактная - идея без подробностей. И в ней не вяжется как отслеживать порядок вложенности. По ее логике конечной странице можно обратиться опуская кусок вышестоящего адреса. Типа
сайт.ру/мои увлечения/первое увлечение/интересные случаи/случай
сайт.ру/первое увлечение/интересные случаи/случай
сайт.ру/интересные случаи/случай ( интересные случаи типа категория, а случай - что-то типа элемента категории. тут хоть новости, хоть что угодно )
все будет вести на одну страницу и будет доступно, т.к. в таблице предполагается хранить пары "родитель - потомок", и проверять при обращении есть ли запрошенный кусок адреса в базе. В развитие этой мысли можно хранить уровень вложенности, и проверять если такой родитель есть, и его уровень совпадает с уровнем в запросе, то...и условия.
Так же интересно будут ли особые сложности с реализацией чпу на кириллице. Именно с кириллическими символами при обработке.
Очень интересны другие варианты реализации. Буду очень благодарен за подсказки.

Спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.05.2017, 08:29
Ответы с готовыми решениями:

Реализация мини ЧПУ
Доброго дня. У меня вот какой вопрос... У меня есть скрипт play.php и ему передается Get запрос...

Почта на своем сайте
Здравствуйте,не знал в какой раздел пойти,решил здесь. Вопрос такой: как сделать интерфейс почты...

Заработок на своем сайте
Господа, у меня вопрос прямой и по делу . На какую прибыль вообще можно рассчитывать, создавая...

ЧПУ на сайте
Всем привет. Нужно реализовать ЧПУ ссылки на сайте. CMS самописная есть ссылки вида:...

7
13 / 13 / 5
Регистрация: 29.03.2017
Сообщений: 82
19.05.2017, 08:34 2
Не хочу показаться оффтопером, но все уже придумано давно.
0
15 / 15 / 1
Регистрация: 19.10.2012
Сообщений: 570
19.05.2017, 08:43  [ТС] 3
setrus52, и в чем сакральный смысл твоего ответа? "юзай готовый фреймворк"?
0
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
19.05.2017, 08:59 4
При тыке "Сохранить" рекурсивно проходитесь по всему дереву, получаете полный URL и сохраняете в отдельное поле в БД.

Как-то так:
id parent_id url full_url
1 0 some /some/
2 1 news /some/news/
3 2 item /some/news/item/

Это делается для удобства, один раз сохранили полный путь и не нужно делать сложный поиск - просто ищете запись с $_SERVER['REQUEST_URI'] === full_url.
0
13 / 13 / 5
Регистрация: 29.03.2017
Сообщений: 82
19.05.2017, 09:00 5
Да не обязательно Дырявые велосипеды это иногда весело
0
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
19.05.2017, 10:41 6
Цитата Сообщение от Jodah Посмотреть сообщение
рекурсивно проходитесь по всему дереву
Наврал, просто берём full_url предка и добавляем текущий url.

А рекурсия понадобится чтобы обновить full_url у потомков всех уровней.
0
15 / 15 / 1
Регистрация: 19.10.2012
Сообщений: 570
19.05.2017, 14:55  [ТС] 7
Jodah, Jodah, идея простая и надежная. но это слишком просто) при этом подходе проблематично будет изменить родительский раздел, к примеру. если ли более гибкие варианты?) приношу извинения за некоторую наглость)
0
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
19.05.2017, 15:15 8
Цитата Сообщение от user20011993 Посмотреть сообщение
проблематично будет изменить родительский раздел
Ничего сложного - как написал выше, создать функцию, которая рекурсивно проходится по всем потомкам категории и меняет full_url.
Цитата Сообщение от user20011993 Посмотреть сообщение
если ли более гибкие варианты?
А этот недостаточно гибкий? В любом случае нужно придумывать какое-то хранилище полных URL для экономии ресурсов.
1
19.05.2017, 15:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.05.2017, 15:15
Помогаю со студенческими работами здесь

Реально ли заработать на своем сайте?
Всем доброго времени суток, сильно не ругайте, так из любопытства спрашиваю, можно ли реально...

Продажа ссылок на своем сайте
Добрый день! Сегодня мне от биржи ссылок link-trade поступило предложение продать им место под...

Как заработать на своем сайте
Подскажите, плз. Есть сайт, в среднем 150 уников в день, тематика - демотиваторы. Вопрос: можно ли...

Подключение оплаты на своем сайте
Доброго времени суток, уважаемые знатоки! Есть проблема, нужно прикрутить к сайту...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru