301 PHP重定向错误-来自变量

301 PHP重定向错误-来自变量,php,http-status-code-301,Php,Http Status Code 301,我正在写一个301重定向,但是当我通过一个变量传递url时出错了 我使用这个脚本来获取当前页面的URL和域名 <?php $mainurl = "http://" .$_SERVER["SERVER_NAME"]; $pagename1 = "".$_SERVER["QUERY_STRING"]; ?> 如果页面没有重定向,我就用它来重定向页面 <?php if ($row_rs_page['g_page_url'] != $pagename1) $pag

我正在写一个301重定向,但是当我通过一个变量传递url时出错了

我使用这个脚本来获取当前页面的URL和域名

<?php
$mainurl = "http://" .$_SERVER["SERVER_NAME"];
$pagename1 = "".$_SERVER["QUERY_STRING"];
?>

如果页面没有重定向,我就用它来重定向页面

<?php if ($row_rs_page['g_page_url'] != $pagename1) 
       $pagenameexists = "<p>page exists</p>";
?>
<?php Header( "HTTP/1.1 301 Moved Permanently" );
      Header("Location: ".$mainurl."");
?>

这就是我怀疑出现问题的地方:
标题(“位置:“.mainurl”)如果我在$mainurl的位置键入,页面将按其应该的方式重定向。如果我使用动态变量,它会出错

我做错了什么

谢谢


沙克蒂是对的

不要回显位置标题之前的任何内容

我已包含重定向到不存在页面的url:我没有看到错误消息错误表示您正在尝试打开不存在的文件!有趣的是,我已经将代码更改为,现在它似乎工作100%感谢您的输入!实际上,不要在任何头之前输出任何内容。页眉在页面内容之前发送,当您(直接)输出任何内容时,页眉将无法正常工作。在这种情况下,使用输出缓冲。
<?php
$mainurl = "http://" .$_SERVER["SERVER_NAME"];
$pagename1 = "".$_SERVER["QUERY_STRING"];

if ($row_rs_page['g_page_url'] != $pagename1) 
   $pagenameexists = "<p>page exists</p>";
Header( "HTTP/1.1 301 Moved Permanently" );
  Header("Location: ".$mainurl."");
?>