Как сдалать так... (ворос по PHP)

stm7884696

что бы апач работал нормально, а не выводил такую ошибку:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request
, которая в его логах записана так:
Premature end of script headers: c:/program files/php/php.exe
когда я пытаюсь выполнить такую команду в ПХП:
header("Location : .\chat\chat.php");
Я точно знаю, что она должна работать, т.к. работала на другой машине. Настройки апача там я посмотреть не могу

shlyumper

header("Location : .\chat\chat.php");

Пробел убери между Location и :

stm7884696

непомогает (

shlyumper

1. Какой веб-севрер?
2. Какая версия php?
3. До этого header точно ничего не попадает в output?
Сам обычно пользуюсь примерно такой функцией (код частично позаимствован из phpBB работает практически при любых комбинациях первых двух пунктов:


function redirect($page)
{
global $db, $config;
if (!empty($db
{
$db->sql_close;
}
if(!preg_match('/^\w{3,8}\:\/\//', $page
$url = $config['site_root'] . '/' . $page;
else
$url = $page;
// Redirect via an HTML form for PITA webservers
if (@preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE'
{
header('Refresh: 0; URL=' . $url);
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'.
'<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'.
'<meta http-equiv="refresh" content="0; url=' .
$url .
'"><title>Redirect</title></head><body><div align="center">'.
'If your browser does not support meta redirection please click <a href="' .
$url .
'">HERE</a> to be redirected</div></body></html>';
exit;
}
// Behave as per HTTP/1.1 spec for others
header('Location: ' . $url);
exit;
}

stm7884696

1Апач1.3
2ПХП4.0.4
специально сделал файл, содержащий одну строку:
<?header("Location: .\chat\chat.php");?>
находиться по адресу [url=http://10.0.0.17/test.php]
alexus/test.php[/url]
мне не нужна вся эта функция редиректа... Мне надо что бы работала эта хрень:
header('Location: ' . $url);

okunek

блина, леха, ща я похаваю (я уже хаваю) и будем писать, не парься.

shlyumper

Проверяй свою конфигурацию.
Только что твой вариант (<?header("Location: .\chat\chat.php");?>) опробовал у себя (Apache 1.3, php 4.3, windows xp) - работает замечательно.
Да, у меня php стоит как модуль.

stm7884696

расшарь файл настроек апача, я его со своим сравню...

shlyumper

Критические моменты:


LoadModule php4_module D:/net/php4/sapi/php4apache.dll
AddModule mod_php4.c
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .phtml


Все остальное не суть важно.
Еще, проверь у себя php.ini. У тебя проблема скорее всего из-за того, что php может кривовато выдавать заголовки, когда стоит не как модуль.

stm7884696

он у меня стоит ка скрипт
ScriptAlias /php/ "c:/program files/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"
а что в пхп ини смотреть ?

shlyumper

Тебе принципиально чтобы он стоял именно как скрипт? Если нет, то переставь его как модуль, заодно и работать станет заметно быстрее. Мне сейчас просто лень экспериментировать и переключать его как скрипт у себя для проверок. Если принципиально, чтобы он стоял именно как скрипт, то тогда расскажи, почему?

abrek

> Если принципиально, чтобы он стоял именно как скрипт, то тогда расскажи, почему?
для того, чтобы suexec был, так делают иногда

shlyumper

Погоди, у товарища windows, или я что-то не понимаю? Разве там уже есть suexec?

stm7884696

ага, 2000 мастдай... и мне не принципиально, как установлен пхп...

stm7884696

поставил как модуль...
<? header("Location : .\chat\chat.php");
phpinfo;
?>
такая конструкция выдает инфу по ПХП, хотя по идее должна редирект делать...

shlyumper

Повторяю по буквам, раз ты это не смог прочитать:
П Р О Б Е Л П О С Л Е L O C A T I O N П Е Р Е Д Д В О Е Т О Ч И Е М У Б Е Р И И В С Ё З А Р А Б О Т А Е Т

rfgbnfy

хотя по идее должна редирект делать...

спросил не подумав .рефлекс всегда после location exit ставить . чтоб в случае с несколькими location нормально работало ..............

stm7884696

Бля, я просто в офигении... Спасибо большое...
И правда заработало 6

stm7884696

а такой вопрос, фигла тогда на другом компе и с пробелом перед : работало ?

shlyumper

Понятия не имею. Но вообще-то, если верить стандартам, не должно было работать нигде с пробелом.

stm7884696

Ясно, спасибо за консультацию )

Artas

Гы гы гы, ты в первый раз посоветовал другой пробел убрать Не после :, а перед

shlyumper

Прочитай внимательно. И в первый и во второй раз - пробел между словом Location и двоеточием.
Оставить комментарий
Имя или ник:
Комментарий: