我在我的网站中使用函数重定向外部链接
此功能如何工作: - 它将检测所有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 :(得分: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();