2016-10-12 5 views
0

私のウェブサイトの外部リンクのリダイレクト機能を使用しています「?」を検出する方法リダイレクトのサイトリンク

この機能のしくみ: - すべてのnearbuy.comリンクを検出し、リダイレクトルールを適用してリダイレクトします。例については

は: - nearbuy.comだから、この関数はnearbuy.com外部のURLすなわちhttp://tracking.nearbuy.com/aff_c?offer_id=9&aff_id=479&url=

前にそれを動作させるために次にhttp://www.nearbuy.comとURLパラメータをプレフィックスを追加ドメインです。私は何をしたいか

: -

1)nearbuy.comリンクが既に持っている場合は、 "?" "&"

2)nearbuy.comリンクに "?"がない場合は、 "?"を使用します。

問題は何か: - 「?」

私は法の下に使用しますが、その検出しておりませんリンクに "?"

if(stripos($url, "nearbuy.com")) { 
    $url_args = parse_url($url); 
    $url_params = "?utm_source=nap&utm_medium=cps&utm_campaign={affiliate_id}"; 
     if(!empty($durl["query"])) {  
      $url_params = "&utm_source=nap&utm_medium=cps&utm_campaign={affiliate_id}"; 
     } 
    $redirect_url = "http://tracking.nearbuy.com/aff_c?offer_id=9&aff_id=479&url=" . urlencode($url . $url_params); 
     goto redirect_to_uri; 
    break; 
} 
+0

それは最高の機能ではありませんが、あなたが使用する必要がありますが - :再度、ここに問題

でリダイレクトながら、リンクの最後のコードがありますhttp://php.net/manual/en/function.parse-url.php代わりに、URL操作にこのパッケージを使用することができます:https://github.com/thephpleague/url – Tomahock

答えて

0

あなたはparse_urlを使用してのような何かを行うことができます:

$yourQueryParams = [ 
    'offer_id' => 9, 
    'aff_id' => 479, 
]; 

$url .= (parse_url($url, PHP_URL_QUERY) ? '&' : '?') . http_build_query($yourQueryParams); 

// redirect with your query params 
header("Location: $url"); 
die(); 
+0

ありがとうございます:-) ... –

関連する問題