2017-02-15 71 views
0

我想要放在一起的重定向頁面,以便我可以在我的電子郵件中放置URL,當點擊它時,它將運行一個跟蹤腳本,然後重定向。跟蹤代碼後WordPress的PHP重定向

我的URL進行格式化http://www.site1.com/redirect.php?http://www.site2.com

我寫的redirect.php用下面的代碼,但我剛開白色頁面加載時。權限是644.

<?php 
    require(dirname(__FILE__) . '/wp-blog-header.php'); 
?> 

<!DOCTYPE HTML> 
<html> 
<script type="text/javascript"> 
    var trackcmp_email = ''; 
    var trackcmp = document.createElement("script"); 
    trackcmp.async = true; 
    trackcmp.type = 'text/javascript'; 
    trackcmp.src = '//trackcmp.net/visit?actid=myid&e='+encodeURIComponent(trackcmp_email)+'&r='+encodeURIComponent(document.referrer)+'&u='+encodeURIComponent(window.location.href); 
    var trackcmp_s = document.getElementsByTagName("script"); 
    if (trackcmp_s.length) { 
     trackcmp_s[0].parentNode.appendChild(trackcmp); 
    } else { 
     var trackcmp_h = document.getElementsByTagName("head"); 
     trackcmp_h.length && trackcmp_h[0].appendChild(trackcmp); 
    } 
</script> 
</html> 

<?php 
    $uri = $_SERVER['REQUEST_URI']; 
    $pieces = explode("?", $uri); 
    $newURL = intval($pieces[1]); 
    header("HTTP/1.0 302 Found"); 
    header("Status: 302"); 
    header('Location: '.$newURL); 

?> 
+1

白頁,嘗試錯誤報告http://php.net/manual/en/function.error-reporting.php並看看你的控制檯。 –

+0

通過document.write調用解析器,跨源腳本,http://ajax.cloudflare.com/cdn-cgi/nexp/dok3v=f2befc48d1/cloudflare.min.js。如果設備的網絡連接較差,則可能會被瀏覽器阻止。有關更多詳細信息,請參閱https://www.chromestatus.com/feature/5718547946799104。 – Brian

+0

@brian我認爲找到用於http/1.1,請你試試 – iCezz

回答

0

我認爲它是因爲$ newUrl是一個int。在這種情況下,零。所以,當你嘗試

header('Location: '.$newURL); 

它像

header('Location: 0'); 

變化

$newURL = $pieces[1]; 

和重定向會工作。

但是JavaScript不會被執行。

也許你可以嘗試這樣的事:

header('refresh:5;url=' . $pieces[1]); 

,而不是標題( '位置:' $件[1]);

但它感覺有點髒,它不是302重定向!無論如何希望它有幫助。