Я собираюсь бросить полотенце. Может кто-нибудь помочь мне понять это.
На моем локальном dev-сервере этот кусочек PHP работает нормально, он просто выполняет перенаправление, создавая URL из некоторых переменных. Поэтому я перенаправлен на эту страницу, как и ожидалось.
$status = "0"; //unsubscribed
header('Location:http://www.skandium.com/manage-your-mailing-list.asp?status='.$status);
die();
На рабочем сервере я просто получаю пустую страницу. Я знаю, что сама страница PHP работает, потому что все остальное, что происходит до и до этой строки, работает нормально. Я могу заменить эту строку простой echo
и увидеть, что URL-адрес также правильный.
Другие детали:
- Размещается на коробке с Windows (dev также windows)
- та же версия PHP, запущенная через FASTCGI
РЕДАКТИРОВАТЬ: сюжет утолщается
Следующий код сам по себе на новой странице отлично работает на производстве. Тем не менее не объясняет, почему приведенный выше код работает локально, а не на производстве. Все, что я исключил, это то, что оператор перенаправления заголовка сам по себе не является виновником.
<?php
//test.php
//prevent page caching
header("Cache-Control: no-cache");
header("Expires: -1");
$status = "0"; //unsubscribed
header('Location:http://www.abc.com/manage-your-mailing-list.php?status='.$status);
die();
?>