Как CMS может понять, какую страницу от него требуют, не пользуясь суперглобальными переменными?
У меня есть некая самописная CMS на PHP, тщательно обфусцированная неведомым мне разработчиком. Я хочу сделать для нее ЧПУ через собственный скрипт. Все запросы к страницам обрабатываются CMS-кой через единый index.php — так что я просто подинклудю скрипт туда и буду переобрабатывать им запросы.
Механизм работы замышляется таков: мой скрипт, располагая правилом преобразования ЧПУ, первым получает текущий урл запроса из $_SERVER['REQUEST_URI'], определяет, новое ЧПУ ли это, и если это новое ЧПУ, то достает из базы старый адрес и скармливает ее CMS, заменяя в соответствии с ним данные, которыми CMS руководствуется при генерации страницы.
Но каким образом CMS может «догадываться» о том, какой именно урл она обрабатывает? Понятно, через суперглобальные переменные: $_SERVER, $_GET, $_REQUEST и так далее. Просмотрев содержимое этих массивов и заменив значения всем элементам, в которых содержалось похожее на текущий урл значение, я ничего не достиг — при обработке понятного CMS старого адреса, даже если испортить все вкрапления урла в значениях суперглобальных переменных, CMS все равно догадывается, какую страницу надо отдать; при обработке же нового урла, в котором переменные заменены на соответствующие старому, CMS возмущенно отдает 404.
Поэтому — вопрос. Как CMS может понять, какую страницу от него требуют, не пользуясь данными от суперглобальных массивов окружения PHP?
Я надеюсь, что существует конечное число способов передачи данных, которые можно перебрать. В этом и вопрос: разработчик мог как-либо обрабатывать адрес страницы в обход суперглобальных массивов?
Это нераспространенная самописная CMS, я не уверен даже, что у нее вообще есть какое-то имя.