我在服务器上修改了一个非常简单的php页面:
<?php
header("Location:http://www.google.com");
?>
它停止工作了。我得到一个空白页面(没有来源)。
我修改回上一个网址..但它仍无效。
发生了什么事?
由于
答案 0 :(得分:4)
<?php <-- check for whitespace before this (by popular demand)
error_reporting(E_ALL); // report all error messages
header("Location: http://www.google.com"); // leave a space between name and value
?> <-- remove this, or check for whitespace after it
我的想法是,在你的最后一个结束标记或之前有一个叛逆的空白字符。
答案 1 :(得分:1)
您已使用utf8格式保存了它。将文件保存为utf8而不使用bom或ansi,然后它应该可以正常工作。
答案 2 :(得分:0)
如果您在标题之前在此页面中打印某些内容,则可能会出现此问题。或者,当我对具有标题的页面进行UTF-8编码时,我有时遇到同样的问题。
答案 3 :(得分:0)
我有同样的问题,重定向似乎突然停止工作。
它原来是<?php
标记之前的换行符,我在一些模糊的包含文件中意外添加了该标记。
我以前解决的一种方法是通过 Google Chrome开发者控制台中的网络标签。我在200 OK
之前看到了换行符,它告诉我其中一个文件出了问题。
答案 4 :(得分:0)
我有这样的问题。我使用自己的PHP MVC模式。实际上没有错误,突然,我的重定向停止了工作。我读了很多文件。但最后,将ob_start();
添加到索引页面中。它奏效了。
注意:您应该在重定向之前刷新缓冲区。否则,它无法重定向。
答案 5 :(得分:0)
我对php不是很好但是。
我添加了Refresh事物:
header("Refresh: 0; http://www.google.com");
现在它正在工作,但是知道第一个问题是如何发生的还是很好的。 / 拼写检查 /