2013-06-28 74 views
0

我這樣做重定向:編碼和在header()函數

$perf = get_query_var('goperf'); 
$campaignid = get_option('campaign_id'); 
$url = 'http://ww.mysite.com?test=1&testtwo=2'; 
header("HTTP/1.1 301 Moved Permanently"); 
header('Location: '.$url); 
exit; 

我應該使用:

$url = 'http://ww.mysite.com?test=1&testtwo=2'; 

或者我應該編碼&?使用&代替&

$url = 'http://ww.mysite.com?test=1&esttwo=2'; 

TY

+1

第一個。在瀏覽器中試用它們,只有其中一個會將獲取值傳遞給腳本。 –

回答

5

您應該使用htmlencoded變種ONLY如果URL被插入到HTML文檔。

所以,如果您有:

<a href="<?php echo $url;?>">click me!</a> 

你應該如果你正在做使用&amp;變種(htmlencoded)

header("Location: " . $url); 

或其他任何不在第一種情況,不要 htmlencode。

+0

我這樣做是爲了重定向聯盟鏈接...當我編碼時,我的參數不會在重定向後傳遞...所以你是對的,我不應該編碼它們 – webmasters