在没有任何输出前加这个:
header("Http/1.1 404 Not Found");

解决方案 »

  1.   

    多谢gingzai777,  我用的是托管服务器,阻止ip是用.htaccess文件来做的,在我的程序中我怎么知道这个IP是被阻止掉了呢?
      

  2.   

    你看不了error_log吗?如果可以看到的话有ip被限制的记录
    如果看不了 你可以在.htaccess中增加自己的客户端的ip来测试,如果自己浏览器都看不了了 那说明这些ip就被限制了
      

  3.   

    多谢yunfeifan,我的意思是我的程序里怎么知道呢,默认发送出去的是403 Forbidden的错误,我要怎么修改我的程序,让服务器要发送的是404 page not found.而不是原来的403 Forbidden.重要的是我怎么来扑捉这个错误,然后再通过  header("Http/1.1 404 Not Found"); 来发送我想发送的错误代码。
      

  4.   

    如果你改变不了httpd.conf 那你就改变你自己的php页面,增加一个统一的权限设置,例如全局配置了ip,如果这个ip的都需要无法访问的话那你在每个页面上边增加
    if($ip 属于){
     header("HTTP/1.1 404 Not Found");
     exit;
    }
      

  5.   

    如果你改变不了httpd.conf
    =====================================再次多谢yunfeifan改变httpd.conf,应该配置什么参数呢?
      

  6.   

    改变httpd.conf 需要在你的虚拟主机中增加
    Order allow,deny
    #Allow from all
    Allow from all
    Deny from 123.456.789.0 ...
    这样就会阻止这些用户来登录了#    ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
    #    ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
    可以把403的error 地址改为403的,你可以测试一下 我没有测试过
      

  7.   

    增加这么一行,再在public_html中添加page_not_found.html文件就好了ErrorDocument 403 /page_not_found.html多谢两位的帮助