2013-02-28 135 views
0

我敢肯定,这是不可能的,我需要在login.php if $_GET['reason'] isset上设置标头,但有人可以澄清,我不能设置响应代码,然后改变位置?PHP自定义标头重定向

header('HTTP/1.1 403 Forbidden'); 
header("Location: http://domain.com/login.php?reason=ipbanned"); 

回答

1

对,这是不可能的。 “位置”标题将HTTP响应代码设置为302 Found(或另一个3xx重定向代码),并且一次不能发送两个响应代码。

更新:

正确的方法做你想要的是发送禁止头的重定向页面,即在login.php如果$_GET['readon']=='ipbanned',而不是在重定向页。

+0

如果您未指定响应代码,则默认值为302.如果您自己设置响应代码,则会覆盖此值。 – 2013-02-28 11:01:34

+0

感谢您的更正@Matt,我更新了答案 – 2013-02-28 11:02:23

+0

所以,我可以设置403响应代码并在同一页面上重定向? – amof 2013-02-28 11:05:06