【发布时间】:2010-08-09 15:59:52
【问题描述】:
所以当我部署一些我认为我已经测试过的代码时,我得到了一个令人讨厌的惊喜。看来我的测试机和我的服务器之间肯定存在一些差异。完全相同的代码,具有标头重定向,在我的测试机器上完美运行,而不是在服务器上。服务器上的重定向根本没有发生,结果留下了一个空白页面。
头文件在脚本中间的某个地方被调用 - 但还没有输出任何内容。在脚本结束之前它不会输出任何内容。在其他一切都运行之后很久。它缓冲一切。
服务器和测试机都运行相同的 PhP 版本,相同的 Apache 版本。配置文件中是否有某些内容允许标题发生在一个而不是另一个?这里是否还有其他事情会导致它失败?
编辑:
这是设置标题的行:
public function setRedirect($url) {
header('Location: '.$url);
}
下面是调用它的代码:
$url = new URL('index');
$this->layout->setRedirect($url->toString());
其中URL::toString() 始终生成完全限定域名,在本例中为:http://domain/index.php?action=index
我检查了 Php 和 Apache 错误日志。纳达。
【问题讨论】:
-
您是否正在重定向到绝对(完全限定)URL?
-
为了完整起见:您能否包括有
header()调用的行? -
@Peter Bailey @Tomalak 完成(是)并完成。查看修改。
标签: php configuration redirect header apache2