我想知道回调以下内容是否是使用header(“Location:index.html”)而不必使用output_buffering的好方法
echo "<script type='text/javascript>window.location = 'index.html';</script>";
有时候我想在一个正文中重定向,上面的工作是否正常或是否值得打开output_buffering选项而只是用户头()?
答案 0 :(得分:2)
只需使用header(),这是正确的方法。
但您不需要使用输出缓冲。构建“body”字符串并将其放入变量(不要回显东西)。然后使用标题,如果你必须。在脚本的最后一行中,您将回显body变量(如果您没有使用标题重定向)
答案 1 :(得分:1)
header()
定义用户正在查看的页面。使用输出缓冲强制忽略先前的输出缓冲区,因此它不被认为是重定向的有效方式。所以,这是我的建议:
如果唯一目标是重定向,请确保在执行header
语句之前不输出任何内容。在这种情况下,header
是合适的。
如果您需要显示您的页面并根据用户需要重定向到不同的页面,请使用JavaScript重定向。
答案 2 :(得分:0)
请记住,使用标题不能启动屏幕输出,否则标题将无效,如果关闭JavaScript,JavaScript版本将无效。我个人认为标题是更安全的选择,但我认为这可能取决于个人观点!
答案 3 :(得分:0)
如果由于某种原因,你想避免输出缓冲,你的想法就会起作用。