2011-10-27 76 views
0

我們使用傳出網址頁面將用戶引導到外部網站,這是一種偏離藝術風格。傳出網址剝離字符

我遇到的問題是twitter feeds,我們的重定向從網址中去掉#!/ twitterusername。

我們的PHP是:

<? 
$goto = $_GET['url']; 
$referrer = $_SERVER['HTTP_REFERER']; 
?> 

鏈接HTML是:

<div> 
<a class="mini green button" href="<?=$goto;?>">Continue to <span style="text-transform:lowercase !important;"><?=$goto;?></span></a> 
</div> 

即將離任的URL應該是:

http://twitter.com/#!/twitterusername 

然而轉到鏈接變爲:

http://twitter.com/ 

任何想法爲什麼,我有一個金髮的時刻

+0

當你'echo'或登錄'$ goto'和' $ referrer',它們的值是什麼? – wclark

+0

轉到價值是http://twitter.com/和referrer是http://www.oursite.com/ – 422

回答

0

你需要使用urlencode。而已。

然後像做

$referrer = $_SERVER['HTTP_REFERER']; 

echo 'go.php?url=' . urlencode($referrer); 

http://twitter.com/#!/twitterusername將被編碼到http%3A%2F%2Ftwitter.com%2F%23%21%2Ftwitterusername這是你所需要的

0

您需要urlencode的跳轉URL時,呼應之前將其發送到中間頁和urldecode它它。

在其中包含原始鏈接的頁面,你需要使用

<a href="<?=urlencode("http://twitter.com/#!/twitterusername")?>">Twitter</a> 

然後在中間PHP,使用

$goto = urldecode($_GET['url']); 
+0

此代碼似乎不起作用:Twitter 我弄砸了嗎? – 422

+0

是的,你有。使用'Twitter' –