PHP页面重定向

这个问题在这里已经有了答案:

  • 如何在PHP中进行重定向? 27个答案

  • 是的,你会使用标题功能。

    header("Location: http://www.yourwebsite.com/user.php"); /* Redirect browser */
    exit();
    

    调用exit()后缀是一个很好的习惯,这样它下面的代码就不会被执行。

    另外,从文档:

    请记住,必须在发送任何实际输出之前调用header(),或者通过普通的HTML标记,文件中的空行或来自PHP。 使用include()或require()函数或其他文件访问函数读取代码,并在调用header()之前输出空格或空行是非常常见的错误。 使用单个PHP / HTML文件时存在同样的问题。

    这意味着你不应该在header()函数之前回应任何东西,因为这样做很可能会抛出错误。 此外,您还需要验证此代码是否在任何其他输出之前运行。


    使用JavaScript作为故障安全将确保用户被重定向(即使头文件已被发送)。 干得好:

    // $url should be an absolute url
    function redirect($url){
        if (headers_sent()){
          die('<script type="text/javascript">window.location=''.$url.'';</script‌​>');
        }else{
          header('Location: ' . $url);
          die();
        }    
    }
    

    如果你需要正确处理相对路径,我已经写了一个函数(但这超出了问题的范围)。


       $url='the/url/you/want/to/go';
       echo '<META HTTP-EQUIV=REFRESH CONTENT="1; '.$url.'">';
    

    这对我很好。

    链接地址: http://www.djcxy.com/p/34697.html

    上一篇: PHP page redirect

    下一篇: Header already sent by Error