Я уже 50 раз все заново писал, каждый раз мне что то не нравилось в своих псевдоCMS. В этот раз я столкнулся с такой проблемой:
В основе сайта лежит Joomla, на нее установлены всякие моды, которые нужны. На странице с магазинами отображается блог материалов, в который добавлен iframe ссылающийся на "псевдоCMS" лежащей немного по другому пути от joomlа.
То есть ссылка на материал имеет такой вид: domain.com/joomla/category/material < тут iframe
Ссылается он в папку domain.com/shops/shop_name/index.php - который собственно отображает.
Изначально я использовал REQUEST_URI, который сравнивается в sitemap array и возвращает ссылку на array страницы. С таким подходом не работает, потому что joomla ЧПУ отображает адрес отличный от расположения псевдоCMS.
Собственно вот в чем вопрос, сейчас мне пришла мысль, использовать каталоги с вложенным в него index.php, database array.
Тоесть создавать каждый раз папку с двумя файлами(один будет искать корень с помощью while $base != '/' { $cd + "../";}) Что бы каждая страница возвращалась на папку назад и запрашивала у database этого каталога текущее расположение, если не корень, то выйти еще на папку. Когда построится путь к материалу, то сразу можно вывести относительные пути для менюшек, ссылок на материалы, товары. Не знаю какие там подводные камни, и еще 500 раз переделывать - это конечно хорошо, для опыта, но занимает много времени.
Таким образом страница сможет искать место, где лежит index.php от которого все начинается. Видимо все ссылки на странице должны быть относительными, не привязываться жестко.
Подскажите, какими методами можно реализовать cms, что бы небыло проблем с отображением через iframe, что бы ЧПУ джумлы не мешал перемещаться внутри фрейма? не судите строго, я развиваюсь в этом направлении не долго, но я учусь и буду благодарен любым понятиям которые меня приблизят к реализации.
1) В заголовке есть "nosql", но описание проблемы не относится к nosql. Файл со массивом параметров это не nosql.
2) while $base != '/' { $cd + "../";}) это ядерная уязвимость в коде, можно подстроить запрос и выйти на любой путь в системе
3) посмотрите существующие подходы в роутинге на примере популярных пакетов на packagist, правила формирования урлов можно придумать составить так, чтобы джумла их игнорила, или настроить веб сервер так, чтобы такая-то группа урлов перенаправлялась на другой обработчик, не джумловский
1) В заголовке есть "nosql", но описание проблемы не относится к nosql. Файл со массивом параметров это не nosql.
NOSQL != SQL > базы не используются == nosql > или !sql. Вроде логично
2) while $base != '/' { $cd + "../";}) это ядерная уязвимость в коде, можно подстроить запрос и выйти на любой путь в системе
не вижу проблем, т.к. контент обрабатывается скриптом - а это только путь, который понадобится, что бы подключить публичный массив. если ссылки на него нет в sitemap - значит 404. Аналогично, если страница есть, но в массиве public= 0 и session=false;
3) посмотрите существующие подходы в роутинге на примере популярных пакетов на packagist, правила формирования урлов можно придумать составить так, чтобы джумла их игнорила, или настроить веб сервер так, чтобы такая-то группа урлов перенаправлялась на другой обработчик, не джумловский
Спер у джумлы .htaccess, положил в нужную папку, скрипт начал работать только в своем каталоге. то что нужно. Однако в базу прописываются путь целиком и мне нужно как то отсоединить часть адреса до той части, где скрипт установлен