Как CMS может понять, какую страницу от него требуют, не пользуясь суперглобальными переменными?
php.net/getenv
$_SERVER['REQUEST_URI']='bbb';
echo getenv('REQUEST_URI');

Выведет НЕ bbb, а реальный урл.
Раньше очень модно было использовать именно getenv в цмс-ках. 

И соответственно почитайте про putenv, внимательно (по умолчанию не все переменные можно менять).

p.s.: А так же php.net/apache_getenv и так далее по смыслу.
Проверьте, в каком состоянии register_globals.