Камрады подскажите где ошибка, заранее спасибо! PHP: $url_old = 'http://235test.gigal.uz/'.$cannonical.@$vars['subCatFileName'].'/index.html'; $url_new = 'http://235test.gigal.uz/'.$cannonical.@$vars['subCatFileName'].'/'; if($_SERVER['REQUEST_URI'] == $url_old) { header("Location: ".$url_new,TRUE,301); exit(); }
PHP: if (SITE_URL.$_SERVER['REQUEST_URI'] == $url_old_cat) { header("Location: ".$url_new_cat,TRUE,301); } if (SITE_URL.$_SERVER['REQUEST_URI'] == $url_old_keyword) { header("Location: ".$url_new_keyword,TRUE,301); } Верхний редирект работает а нижний нет, почему?
в подобных случаях делаю вардамп переменных, чтобы выяснить, какая из них содержит ошибочное значение PHP: var_dump($url_old_keyword);
exit куда подевался? --- Добавлено --- Не хоШь повсюду пихать exit, используй полную форму ветвления (в данном случае elseif) или выбор.
чЁ? Если ты раз отправляешь заголовок, понуждающий к редиректу, то контент особо не нужен уже, только объем ответа увеличивает. А если ты два раза подряд пытаешься отправить такой заголовок, то это вообще полная хрень получается, хотя у ф-ции header есть возможность подменять заголовок того же типа его более новой версией, что ты вроде и пытаешься сделать, но этот функционал для другого нужен, поэтому делай более привычным способом, т.е. один header Location на запрос.