PHP 重定向与 URL 变量

Rob*_*Rob 2 php redirect

我对 php 非常陌生,并尝试构建一个重定向,该重定向使用 URL 中的参数,该 URL 因人而异。

人们将访问的 URL 如下所示:www.website1.com/redirect.php? p= p123 &r= 4 &s= 567

每个人的 p、r 和 s 都会改变

然后我想将它们重定向到其他一些网站,如下所示:

www.website2.com/p123.aspx?r= 4 & s = 567

这是到目前为止我所拥有的,但它给了我一个错误“无法修改标头信息 - 标头已由...发送”

<html>
   <?php

      $fpvalue  = $_GET['p'];
      $frvalue  = $_GET['r'];
      $fsvalue  = $_GET['s'];

      header("Location: http://website2.com/".$fpvalue.".aspx?r=".$frvalue."&s=".$fsvalue);


   ?>
</html>
Run Code Online (Sandbox Code Playgroud)

我非常感谢对初学者的帮助。

谢谢!

Bro*_*oel 7

当您收到“内容”(文本、html、空格等)时,您无法进行重定向。在调用 header() 函数之前不应执行此操作。

正如您所看到的,在调用 header() 函数之前有一个“”。

改变一下:

   <html>
   <?php

      $fpvalue  = $_GET['p'];
      $frvalue  = $_GET['r'];
      $fsvalue  = $_GET['s'];

      header("Location: http://website2.com/".$fpvalue.".aspx?r=".$frvalue."&s=".$fsvalue);


   ?>
   </html>
Run Code Online (Sandbox Code Playgroud)

为了那个原因:

   <?php

      $fpvalue  = $_GET['p'];
      $frvalue  = $_GET['r'];
      $fsvalue  = $_GET['s'];

      header("Location: http://website2.com/".$fpvalue.".aspx?r=".$frvalue."&s=".$fsvalue);
      exit;
   ?>
   <html>
   </html>
Run Code Online (Sandbox Code Playgroud)

请记住:检查“< ?php ”标记之前是否还有另一个空格或“换行”。