Ошибка в редиректе из-за php

Петр14 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
29.01.2014

Есть код в скриптах сайта

//Редирект, если есть

if ($this->PageData['redirect'] != -1 && !$this->elem_id) {

header('Location: http://'.$_SERVER['HTTP_HOST'].$thi s->MenuList[$this->PageData['redirect' ]]['alldir']);

exit;

}

else header('Location: /404/');

При добавлении в htaccess Redirect 301, выдает 404 страницу(т.е. не срабатывает редирект)

Если убрать else header('Location: /404/'); из скрипта, то выдает редирект, но добавляет адрес старой страницы.

Надо поправить код, чтобы редирект работал, либо не добавлял ненужную часть старой страницы, либо чтобы при работе редиректа не выпадал 404 страница.

Пишите ваши цены за выполнение такой задачи.

Есть другие, похожие доработки.