【发布时间】:2011-09-08 16:08:54
【问题描述】:
我要把毛巾扔进去。有人可以帮我解决这个问题。 在我的本地开发服务器上,这部分 PHP 工作正常,它只是通过从一些变量中构造一个 url 来进行重定向。所以我按预期被重定向到这个页面。
$status = "0"; //unsubscribed
header('Location:http://www.skandium.com/manage-your-mailing-list.asp?status='.$status);
die();
在生产服务器上,我只是得到一个空白页。我知道 PHP 页面本身正在运行,因为在这条线之前和之前发生的所有其他事情都可以正常工作。我可以用一个简单的echo 替换这一行,并且可以看到 URL 也是正确的。
其他详情:
- 托管在 windows 盒子上(开发也是 windows)
- 通过 FASTCGI 运行的相同 PHP 版本
编辑:情节变厚
新页面中的以下代码在生产环境中运行良好。仍然没有解释为什么上面的代码在本地工作而不是在生产环境中工作。我似乎已经排除了标头重定向语句本身不是罪魁祸首。
<?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();
?>
【问题讨论】:
-
您是否尝试过将重定向更改为完整的 http 路径而不是相对路径页面名称?
-
您可以访问错误日志吗?他们提到了什么?
-
在页面的开头尝试添加“ob_start();”在 php 标签中。希望这能解决您的问题。
-
@Arjan 我应该查看哪些日志文件?
-
@balanv 'ob_start();'导致页面根本无法加载,浏览器加载指示器一直在继续......