Неработает редирект на хостинге

kvins
На сайте с 23.08.2011
Offline
95
604

Если я напишу код

header("Location: rubi.php");

после второй открывающей php скобки <?php то тогда никакого редиректа не происходит , как это исправить ?

И вообще почему так

Магазин уникальных статей. (http://linkum.ru/to/13254/)
Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#1
kvins:
Если я напишу код
header("Location: rubi.php");

после второй открывающей php скобки <?php то тогда никакого редиректа не происходит , как это исправить ?

И вообще почему так

А где первая?

Код в студию.

Если телепатить: 1 - ютф-8 с БОМом, 2 - отдача контента начата до отправки локатиона.

Дело это чекаем написанием строки в самое начало файла:


error_reporting(E_ALL);
Подпись))
kvins
На сайте с 23.08.2011
Offline
95
#2

<?php

$sdddd = mysql_query("SELECT * FROM ");

if (mysql_num_rows($sdddd) > 0) {

$sdddd22 = mysql_fetch_array($sdddd);

$selectexto = $sdddd22['text'];

$selectexto = substr($selectexto, 0, 90);

}

?>

Текст

<?php

header("Location: rubi.php");

другой код

?>

Если я вставлю в любом месте в первых <? ?> То где бы не было , редирект произойдет

---------- Добавлено 26.01.2013 в 16:26 ----------

Ошибок нет + на локалке все пашет , могу еще на свой хостинг залить и скорее всего будет работать

IL
На сайте с 20.04.2007
Offline
435
#3
Милованов Ю.С:
2 - отдача контента начата до отправки локатиона.
kvins:
Текст

<?php
header("Location: rubi.php");

Милованов Ю.С - телепат :)

Чтобы работало без переписывания - можно добавить ob_start(); в начало скрипта... Но лучше привести "всё" в порядок..

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
kvins
На сайте с 23.08.2011
Offline
95
#4

А можно в htacces какое нить правило прописать ??

---------- Добавлено 26.01.2013 в 16:53 ----------

Помоему вот эта функция включает его ??

php_value output_buffering On

Тока что то не дает мне хостер включать его , так как после вставки сервер вообще ошибку дает

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#5

Скорее всего так:


php_value output_buffering 4096

4096 - размер буфера в байтах.

Либо


php_flag output_buffering On

Не проверял, работоспособность не гарантирую. Чисто телепатически:)

Потестил на локалке.

1 вариант точно работает.

2 вариант ставит размер буфера 1 байт, так как On преобразуется в 1 (Булева алгебра).

Если хостинг не дает управлять Вам такими директивами, то есть 2 выхода:

1) Попросить разрешить это делать

2) Сделать в ПХП через функции ob_*

PS. а ПХП то у Вас работает как модуль хоть? Если как CGI, то до фанаря .htaccess'у Ваши пхп_флаги и пхп_значения.

Узнать это можно благодаря "нашей" Библии:)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий