2010-05-12 4 views
2

я изменил очень простую страницу PHP на моем сервере:PHP: заголовок ("Location ... вдруг перестал работать

<?php 
    header("Location:http://www.google.com"); 
?> 

и он перестал работать я получить как результат пустой страницы (без источника. в нем).

я изменил вернуться к предыдущему URL .. и он по-прежнему не работает.

Что происходит?

Благодарности

+0

Вы не можете знать, пока не получите сообщение об ошибке. –

+0

Можете ли вы повторить попытку с одним пробелом между «:» и «http»? I.e, как писал karim79. Я сомневаюсь, что это так, но вы никогда не знаете. – Boldewyn

+2

@Boldewyn Я тоже сомневаюсь. Я также удивлен, узнав здесь, о том, что слишком много предсказателей, где должны быть программисты. «попробуйте это», «попробуйте». Почему бы не прочитать определенное сообщение об ошибке чтения или просмотреть фактические заголовки HTTP? –

ответ

4

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

+2

Что случилось с пробелом, о котором вы упоминаете здесь? –

+0

Я тоже думаю, что дополнительные пробелы не должны быть ошибкой, если только это не связано с некоторыми ранее включенными файлами PHP, что не так. – Boldewyn

+0

@Col. Shrapnel - http://stackoverflow.com/questions/1656744/when-not-to-close-a-php-file/, @Boldewyn - Я считаю, что стоит попробовать. – karim79

1

Вы сохранили его в формате utf8. Сохраните файл как utf8 без bom или ansi, тогда он должен работать.

+0

О, да. Хорошая идея, может быть причиной этой печально известной спецификации. – Boldewyn

0

Проблема может возникнуть, если вы печатаете что-то на этой странице перед заголовком. Или иногда у меня была такая же проблема, когда у меня была кодировка UTF-8 для страницы с заголовком.

0

У меня была такая же проблема, когда перенаправления, казалось, внезапно перестали работать.
Оказалось, что это была новая строка перед тегом <?php, который я случайно добавил в какой-то неясном файле include, который я использовал.

Один из способов я использовал для устранения неполадок были через вкладку Network в Google Chrome для разработчиков консоли. Я видел новую строку там до 200 OK, которая сказала мне, что что-то не так с одним из моих файлов.

0

У меня была такая проблема. Я использовал свой собственный шаблон PHP MVC. На самом деле ошибки не было, внезапно мои перенаправления перестали работать. Я прочитал тонны документа. Но, наконец, добавили ob_start(); на индексную страницу. И это сработало.

Примечание: перед перенаправлением необходимо сбросить буфер. В противном случае он не может перенаправляться.

0

Я еще не очень хорошо знаком с php, но.

Я добавил Refresh вещь:

header("Refresh: 0; http://www.google.com"); 

И теперь он работает, но все-таки было бы хорошо, чтобы знать, как первая проблема возникла. /spellcheck/

Смежные вопросы