我从我的来源获得了一堆不同的网址,我想要的是重定向到相同的网址,但将广告系列数据添加到网址(以跟踪推荐的点击次数).
例如,我有这些网址:
www.example.com/category/product/name.html
www.example.com/id_product=5
我想在最后添加以下内容:utm_source = SOURCE&utm_medium = MEDIUM&utm_campaign = CAMPAIGN
和URL成为
www.example.com/category/product/name.html?utm_source=SOURCE&utm_medium=MEDIUM&utm_campaign=CAMPAIGN
www.example.com/id_product=5&utm_source=SOURCE&utm_medium=MEDIUM&utm_campaign=CAMPAIGN
如果URL字符串有参数,如何正确检查和覆盖所有情况,并添加我的?我想在node.js中做到这一点
谢谢
详细阐述@snkashis,一个类似但可以说更优雅的解决方案,再次使用node的url模块,是:
var addQueryParams = function (cleanUrl) {
var obj = url.parse(cleanUrl, true, false);
obj.query['utm_source'] = 'SOURCE';
obj.query['utm_medium'] = 'MEDIUM';
obj.query['utm_campaign'] = 'CAMPAIGN';
delete obj.search; // this makes format compose the search string out of the query object
var trackedUrl = url.format(obj);
return trackedUrl;
};
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为url.format首先查找search
,如果找不到它,它将从query
对象组成查询字符串
(取自节点url模块文档http://nodejs.org/api/url.html#url_url_format_urlobj)
搜索将用于代替查询
query(object; see querystring)仅在没有搜索时使用.
归档时间: |
|
查看次数: |
1886 次 |
最近记录: |