PHP头位置不工作/无HTTP状态:更改
我在PHP中使用头时遇到了一个问题<代码>标题('location:http:google.com')代码>不工作。这是我的代码:PHP头位置不工作/无HTTP状态:更改,php,http,nginx,header,location,Php,Http,Nginx,Header,Location,我在PHP中使用头时遇到了一个问题标题('location:http:google.com')不工作。这是我的代码: if(!headers_sent()){ header("location: http://google.com"); exit; } HTML Data... 脚本正在退出,但header()不工作 我已经在php.ini中检查了output\u bufferparam,它被设置为4096 PHP开始标记上方没有多余的行 我的脚本是用UTF-8编码的,没有
if(!headers_sent()){
header("location: http://google.com");
exit;
}
HTML Data...
脚本正在退出,但header()
不工作
- 我已经在php.ini中检查了
param,它被设置为4096output\u buffer
- PHP开始标记上方没有多余的行
- 我的脚本是用UTF-8编码的,没有BOM
- 所有错误都已启用,但我没有收到任何错误/警告/通知。发生了什么事
- 环境:PHP7.0.27和NGINX
标题(“位置:http://google.com“;,对,302)代码>没有区别
成功标题(“刷新:…”
- HTTP响应调试(在被询问几次后):
StatusCode:200 状态描述:OK 内容:
注意:未定义索引:HTTP\u ACCEPT\u语言在。。。 RawContent:HTTP/1.1200ok 传输编码:分块 连接:保持活力 Pragma:没有缓存 缓存控制:没有存储,没有缓存,必须重新验证 内容类型:text/html;字符集=UTF-8 日期:201年5月18日星期五。。。 表格:{} 标头:{[传输编码,分块],[连接,保持活动],
与标题(“状态:303等”);
来自副本标题(“HTTP/1.1 301永久移动”);
- 州
- PHP SAPI
- 在phar外部运行示例代码
- 试试这个
header("Refresh: $seconds; URL=\"$location\"");
是的,这与其说是解决问题的办法,还不如说是在开发服务器上解决重定向问题。我编写了一个中间件函数来为您生成重定向头,只需将其添加到代码中,然后调用
redirect(“URL”);
您确定执行了第二个头()
吗?请尝试放置位置而不是位置。我认为它区分大小写。设置错误处理程序(“var\u dump”)
并展示该测试脚本的wget-S
输出。@XerShade我已经试过了,但仍然不起作用。@mario这是你说的话的副本吗?他多次说没有错误,所以你怎么能将其标记为该错误的副本。我测试了他的原始代码,它在我的服务器上运行良好,因此问题解决了s他的服务器配置。那么,问题出在哪里?这个头工作了,它重定向到了目标位置。但是为什么“位置”头不工作?@ProtectedVoid我不知道,但是如果这个工作,你可以检查这个答案是否有用。谢谢。刷新工作,因为它是客户端,位置是服务器端,问题出在那里。
header("Refresh: $seconds; URL=\"$location\"");
<?php
function Redirect($location, $delay=0) {
// Check to see if the header are already sent.
if(!headers_sent()) {
// Check to see if we want Refresh because Location isn't working.
if(defined('REDIRECT_ALTERNATIVE')) {
// We want Refresh, let's go!
header("Refresh: $delay; URL=\"$location\"");
exit;
}
// We want to do this server side, do it!
header("Location: $location");
exit;
}
}