我知道这已被覆盖过,但我找不到答案,
我一直用这个;
header("Location: http://www.website.com/");
exit();
Run Code Online (Sandbox Code Playgroud)
这一直在我当前的项目中工作,突然间它在我的任何浏览器中都无法运行
我想找出问题并修复它而不是使用它
echo "<script type='text/javascript'>window.top.location='http://website.com/';</script>";
Run Code Online (Sandbox Code Playgroud)
我也启用了错误报告,但没有显示任何错误
// SET ERROR REPORTING
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
ini_set('display_errors', TRUE);
Run Code Online (Sandbox Code Playgroud)
任何想法为什么它不起作用?
Mik*_*e B 21
尝试:
error_reporting(E_ALL | E_WARNING | E_NOTICE);
ini_set('display_errors', TRUE);
flush();
header("Location: http://www.website.com/");
die('should have redirected by now');
Run Code Online (Sandbox Code Playgroud)
看看你得到了什么.你不应该在你的error_reporting()调用中使用^(xor),因为你无意中要求所有错误除了通知和警告..这就是"已经发送的头文件"错误.
编辑:
还可以尝试将flush()放在header()调用的正上方.
Tyl*_*ter 14
尝试删除位置之间的空格和http中的第一个h.
header("Location: http://www.website.com/");
exit();
Run Code Online (Sandbox Code Playgroud)
变成
header("Location:http://www.website.com/");
exit();
Run Code Online (Sandbox Code Playgroud)
我在WAMP服务器上遇到了这个问题.
虽然它应该不是问题,但考虑到它是如何在PHP文档中记录的.但无论如何你应该尝试一下.我知道在很多情况下它对我有用.
T.T*_*dua 13
1)命令echo..之前不应有任何输出(即HTML代码)header(.......);.
2)不应该有一个空白(或换行之前)<?php和后?>标记.
3) 金色规则!- 文件(和其他include()-d文件)应该没有BOM编码的UTF8(而不仅仅是UTF-8).这在许多情况下都是问题(因为典型的UTF8编码文件在文件输出的开头有一些特殊的字符)!!!!!!!!!!!
4)当重定向后,header(...);您必须使用exit;
5)推荐做法 - 在参考中始终使用301或302:
header("location: http://example.com", true, 301 ); exit;
Run Code Online (Sandbox Code Playgroud)
6)如果以上都没有帮助,请使用JAVSCRIPT重定向(但谷歌强烈建议不要这样做),但这可能是最后的机会...:
echo "<script type='text/javascript'>window.top.location='http://example.com/';</script>"; exit;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49519 次 |
| 最近记录: |