2010-07-21 124 views
0

我有一个PHP脚本如下代码:重定向到404

<?php 

if (!in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1'))) 
{ 
    die('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.'); 
} 

// Other statements follow here 
echo 'Hello there ...' 

,而不是呼应的消息,我想将用户重定向到的404页。但是,当我用这个替换die()语句时:

header(“HTTP/1.0 404 Not Found”);

从远程计算机上运行脚本的用户能够看到消息“你好......”

我怎样才能让页面重定向到404页,对于非本地主机的请求脚本?

顺便说一下,这个代码段来自Symfony框架中的开发环境前端控制器。

回答

9

它应该是:

header("HTTP/1.0 404 Not Found"); 
exit(); 

你需要把exit();避免。

+0

我还要补充:单独调用'header'不会停止脚本的执行,这就是为什么'exit'或'die'是必需的。 – Maerlyn 2010-07-21 22:07:58