2016-06-13 8 views
1

私は、次のURLを持っている:リンク上の特定のURLパラメータを保持するにはどうすればよいですか?

http://website.com/?utm_source=1&utm_campaign=2&utm_medium=3 

ユーザーがこれらのパラメータを使用して私のウェブサイトにアクセスすると、自分のページ上のすべてのリンクは、パラメータを取得し、元のURLと合併。

リンクがあるのであれば:

http://website.com/link.html 

それはなります:

http://website.com/link.html?utm_source=1&utm_campaign=2&utm_medium=3 

しかし、私のGoogleアナリティクスでは、とても多くのデータとナッツ起こっています。そして、私はただutm_campaignを保持する必要があります。

utm_campaignの値だけを取得し、他のパラメータを持っていても自分のURLに適用できますか? $_GET配列ではなく、クエリ文字列と

if (isset($_REQUEST['utm_campaign']) { 
    $queryURL = "?" . preg_replace("/(s=[a-zA-Z%+0-9]*&)(.*)/", "$2", $_SERVER['QUERY_STRING'], -1); 
    $queryURL = preg_replace("/q=([a-z0-9A-Z-\/])+&(.*)/", "$2", $queryURL, -1); 
    $GLOBALS["queryURL"] = $queryURL; 
} else { 
    $GLOBALS["queryURL"] = 0; 
} 

答えて

1

仕事::あなたが他のリンクを作成するときに

if (isset($_REQUEST['utm_campaign'])) { 
    $query_string = '?utm_campaign=' . $_REQUEST['utm_campaign']; 
} else { 
    $query_string = ''; 
} 

はその後、あなたは彼らに$query_stringを連結

は、ここに私の現在のコードです。

0

はい、それが可能である:

if (isset($_GET['utm_campaign'])) { 
    $newUrl = $oldUrl.(strpos($oldUrl,'?') ? '&' : '?').'utm_campaign='.$_GET['utm_campaign']; 
} 

コードのこの作品は、新しいURLに古いURLを変更します。これは、古いurlの任意のパラメータを考慮に入れます。 $_REQUESTにある$_POSTが必要ないので、$_GETを使用します。

関連する問題