301 Грешка при пренасочване на PHP - от променлива

Пиша пренасочване 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."");
?>

Тук подозирам, че възниква проблемът: Header("Location: ".$mainurl.""); Ако напиша http://www.example.com в мястото на $mainurl страницата пренасочва както трябва. Ако използвам динамичната променлива, това води до грешка.

какво правя грешно

Благодаря


person Gerald Ferreira    schedule 22.04.2011    source източник
comment
Включих URL адреса, който пренасочва към страница, която не съществува: 24hour-casino-games.com /index1.asp Не виждам съобщение за грешка   -  person Gerald Ferreira    schedule 22.04.2011
comment
грешката казва, че се опитвате да отворите файл, който не съществува!   -  person Sourav    schedule 22.04.2011


Отговори (1)


<?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."");
?>

Shakti е прав!
Не повтаряйте нищо преди заглавката LOCATION

person Sourav    schedule 22.04.2011
comment
Интересно, промених кода на ‹?php if ($row_rs_page['g_page_url'] != $pagename1) { Header( HTTP/1.1 301 Moved Permanently ); Заглавка (Местоположение: .$mainurl.); }?› и сега изглежда, че работи 100% благодаря за приноса! - person Gerald Ferreira; 22.04.2011
comment
Всъщност не извеждайте НИЩО преди НИКАКВО заглавие. Заглавките се изпращат преди съдържанието на страницата, когато изведете нещо (директно), заглавките няма да работят правилно. В този случай използвайте изходно буфериране. - person Christian; 22.04.2011