如果访问了指定的活动URL,则php标头立即重定向
我可能担心的太多了,但事情是这样的 我已经建立了谷歌分析活动跟踪网址使用 这很好,但我有20个不同的跟踪URL,还有更多 这些url真的很难看,我不喜欢访问者在第一次访问我的网站时看到这个长跟踪url如果访问了指定的活动URL,则php标头立即重定向,php,Php,我可能担心的太多了,但事情是这样的 我已经建立了谷歌分析活动跟踪网址使用 这很好,但我有20个不同的跟踪URL,还有更多 这些url真的很难看,我不喜欢访问者在第一次访问我的网站时看到这个长跟踪url 这就是我的想法/理论,我想放在我的wordpress网站上。如果有人愿意帮助编写php部分,我将非常感激。如果这个主意不好的话,你也可以给我一些建议 例如,这些只是我的一些URL 我想立即重定向所有上述网址太 在my header.php或functions.php中使用php 是否
这就是我的想法/理论,我想放在我的wordpress网站上。如果有人愿意帮助编写php部分,我将非常感激。如果这个主意不好的话,你也可以给我一些建议
例如,这些只是我的一些URL 我想立即重定向所有上述网址太 在my header.php或functions.php中使用php
是否有一些方法可以编写,这样我就可以简单地在数组/案例中添加新的跟踪URL 任何建议都将非常感谢
请不要这样笑,但我猜这就是我想做的
$landing = $_SERVER['REQUEST_URI'];
$campaigns = array(
"http://example.com/?utm_source=Company&utm_medium=MPU&utm_campaign=Promo",
"http://example.com/?utm_source=Company&utm_medium=Leaderboard&utm_campaign=Promo",
"http://example.com/?utm_source=Company&utm_medium=Take%2BOver&utm_campaign=Promo"
);
if ( $campaigns == $landing ) {
header( 'Location: http://example.com/' ) ;
}
删除查询字符串的简单方法:
if ($urlIsTracker) {
list($url) = explode('?', $_SERVER['REQUEST_URI']);
header("Location: $url", true, 301);
exit;
}
你不应该那样做 谷歌分析跟踪代码是客户端的。这是一段js代码,在加载页面后执行。如果它没有找到utm_*查询参数,则不会向ga发送任何内容,因此您将在那里看到的统计数据将不可读。最有可能的是,您将在ga ui中看到总计 如果你想做的话
$trackingParams = array('utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term');
$queryParams = array();
parse_str($_SERVER['QUERY_STRING'], $queryParams);
if (count(array_intersect($queryParams, $trackingParams)) > 1) {
// This url has tracking params
foreach ($trackingParams as $paramName) {
unset($queryParams[$paramName]);
}
// You can use a regex, but i wouldn't recommend it
$newUrl = str_replace(
$_SERVER['QUERY_STRING'],
http_build_query($queryParams),
$_SERVER['REQUEST_URI']
);
header('Location: ' . $newUrl, true, 301);
exit;
}
这是一段代码,它将在当前url中搜索utm_*参数,并重定向到一个不带这些参数的url,而保留其他查询参数不变。试试这个
这是加载页面后从url中清除utm_参数的纯javascript
function clear_utm_from_url(){
var currentLocation = window.location.search.replace(/\?/g, '').split('&');
var new_url = new Array();
for( i = 0; i < currentLocation.length; i++){
var q = currentLocation[i].split('=');
if( q[0].search("utm_") ){
new_url.push(currentLocation[i]);
}
}
if( new_url.length > 0 ){
new_url = "?"+new_url.join("&");
}else{
new_url = "";
}
history.pushState({}, "", window.location.pathname+new_url);
}
函数从url()清除{
var currentLocation=window.location.search.replace(/\?/g',).split('&');
var new_url=new Array();
对于(i=0;i0){
新建url=“?”+新建url.join(“&”);
}否则{
新_url=“”;
}
history.pushState({},“,window.location.pathname+new_url);
}
并添加类似的内容或其他内容来运行函数
<body onload="clear_utm_from_url();">
Man off-course,因此我页面底部的脚本与url栏中的内容相连接-因此,如果我直接重定向,那么我将丢失所有活动统计数据非常感谢您抽出时间编写此脚本。在您指出如果我在php标题中执行重定向,它将不会计算我的活动点击数后,我决定反对它。虽然这个脚本在将来对我来说会很有用,但我确信它可以用于其他事情。谢谢