Задать вопрос

Как CMS может понять, какую страницу от него требуют, не пользуясь суперглобальными переменными?

У меня есть некая самописная CMS на PHP, тщательно обфусцированная неведомым мне разработчиком. Я хочу сделать для нее ЧПУ через собственный скрипт. Все запросы к страницам обрабатываются CMS-кой через единый index.php — так что я просто подинклудю скрипт туда и буду переобрабатывать им запросы.


Механизм работы замышляется таков: мой скрипт, располагая правилом преобразования ЧПУ, первым получает текущий урл запроса из $_SERVER['REQUEST_URI'], определяет, новое ЧПУ ли это, и если это новое ЧПУ, то достает из базы старый адрес и скармливает ее CMS, заменяя в соответствии с ним данные, которыми CMS руководствуется при генерации страницы.


Но каким образом CMS может «догадываться» о том, какой именно урл она обрабатывает? Понятно, через суперглобальные переменные: $_SERVER, $_GET, $_REQUEST и так далее. Просмотрев содержимое этих массивов и заменив значения всем элементам, в которых содержалось похожее на текущий урл значение, я ничего не достиг — при обработке понятного CMS старого адреса, даже если испортить все вкрапления урла в значениях суперглобальных переменных, CMS все равно догадывается, какую страницу надо отдать; при обработке же нового урла, в котором переменные заменены на соответствующие старому, CMS возмущенно отдает 404.


Поэтому — вопрос. Как CMS может понять, какую страницу от него требуют, не пользуясь данными от суперглобальных массивов окружения PHP?
  • Вопрос задан
  • 4291 просмотр
Подписаться 7 Оценить 2 комментария
Ответ пользователя fenric К ответам на вопрос (4)
fenric
@fenric
Смените CMS...
Ответ написан
Комментировать