Почему не передаются параметры?
Садись, будем с тобой учиться программированию.

То что у тебя здесь написано - это не программирование. 
Написать в столбик несколько операторов можно и обезьяну научить.

Программирование начинается тогда, когда твой код престаёт работать.
Процесс выявления участка, который не работает, и что надо исправить, называется отладкой. И это и есть на самом деле программирование. 
Для отладки нужно две вещи:
1. В принципе понимать, что делает твой код. причём не в целом, а каждый оператор в отдельности. Какие данные он должен получать на вход, что с ними делать, что должно быть на выходе.
2. Трассировка. Которая заключается тупо в выводе промежуточных результатов.

поэтому после кода добавляем строчку
var_dump($_SERVER['QUERY_STRING'], $addGet,$config['http_home_url'],$_SERVER['REDIRECT_SCRIPT_URL']);
и смотрим, где чего не хватает.

И только после этого идём на тостер задавать конкретный вопрос, "а почему у меня такая-то переменная пустая"
Спраука
Переменная $_SERVER - это массив, содержащий информацию, такую как заголовки, пути и местоположения скриптов. Записи в этом массиве создаются веб-сервером. Нет гарантии, что каждый веб-сервер предоставит любую из них ; сервер может опустить некоторые из них.....