Legosp Forum

Shop-Script Free => Общие вопросы => Тема начата: Drifter-B от Июля 01, 2014, 10:20:23 am

Название: 404 при смене языка
Отправлено: Drifter-B от Июля 01, 2014, 10:20:23 am
Всем привет.
Собственно сабж. При попытке смены языка вижу 404-ю страничку. Сам скрипт при этом отрабатывает и если перейти с 404-й на сайт он отображается в нужном языке.
Я, к сожалению, не большой спец в PHP, но что-то не так похоже вот здесь в index.php:
if (isset($_GET["new_language"]) && $_SESSION["current_language"] != $_GET["new_language"]) {
$_SESSION["current_language"] = $_GET["new_language"];
header("Location: ".$_SERVER["HTTP_REFERER"]);
}

Если заменить
header("Location: ".$_SERVER["HTTP_REFERER"]);на
echo '<script>window.location.href = "'.$_SERVER["HTTP_REFERER"].'";</script>';то всё отрабатывет, но во первых выглядит не очень красиво (при переключении на короткое время видно белый экран), а во вторых использование JS - дурной тон :)

Как бы мне это побороть? Подскажите, пожалуйста.
Версия LegoSP - 6.1.2
Название: Re: 404 при смене языка
Отправлено: Drifter-B от Июля 01, 2014, 11:13:38 am
Ошибка именно там - в index.php на этом самом header("Location: ".$_SERVER["HTTP_REFERER"]);
Цитировать
[01.07.14 10:24] Error Cannot modify header information - headers already sent by (output started at Z:\home\off-site.com\www\index.php:51) (code: 2) in Z:\home\off-site.com\www\core\core_404.php (line: 8)

Однако, добавление exit; проблему решило. Спасибо за помощь.