如何在没有标题重定向的情况下将用户发送到另一个网址?

som*_*dow 6 php redirect

我正在学习PHP并且一直在寻找这个.我想要实现的是这样的:

if (true/false) {
    go to this url;
}
Run Code Online (Sandbox Code Playgroud)

每次我搜索像php重定向或php链接等术语时,99%的时间我会得到一些"标题".我读到头重定向可以实现这一点,但没有代码可以在它之前,它必须首先在页面上,否则它不会工作.

如果是这样,那么我该如何实现呢?

Kin*_*nch 8

我读到头重定向可以实现这一点,但没有代码可以在它之前.它必须首先在页面上,否则它不会工作.

那是错的.在此之前必须没有输出.因此,你必须确保,你不要echo,print,?>something<?php前(或其他)任何东西.

if (true)  {
  header('Location: ' . $url, false, 302);
  exit; // Ensures, that there is no code _after_ the redirect executed
}
Run Code Online (Sandbox Code Playgroud)

您可以在官方手册中准备好所有相关内容.特别:

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

  • 即使你认为你可以,如果你担心,你可以使用[输出缓冲](http://php.net/manual/en/book.outcontrol.php). (2认同)

Sen*_*kin 5

echo '<script type="text/javascript"> document.location = "http://yoururl.com";</script>'
Run Code Online (Sandbox Code Playgroud)

这将在执行此部分脚本时执行.