<?
echo "lalala";
header("Location: http://www.google.com/");
如果我把它放在一个普通的 php 文件中,并通过带有 mod-php(PHP 版本 5.3.2-1ubuntu4.10)的标准 apache2 服务器交付,则重定向到 google 会起作用。
<?
echo "lalala";
flush();
header("Location: http://www.google.com/");
这段代码显然不会产生有效的重定向。
我的问题是第一个代码是如何处理的以及它为什么有效。因为我记得这样的事情是不可能的。 mod-php 或 apache 是否足够智能以缓冲整个请求并在内容之前安排 header ?
和:
如果我确保不手动刷新输出,我可以依赖它吗?因为这会让我的申请更容易...
最佳答案
输出缓冲可能默认启用。如果您想依赖此功能,您应该手动启用它。
关于php - 为什么这个 header 位置重定向在内容已经被回显后起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7934351/