Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 如何防止Nationbuilder电子邮件中断带有查询参数的链接?_Email_Url_Listserv - Fatal编程技术网

Email 如何防止Nationbuilder电子邮件中断带有查询参数的链接?

Email 如何防止Nationbuilder电子邮件中断带有查询参数的链接?,email,url,listserv,Email,Url,Listserv,我们将Nationbuilder用于我们的网站,并发现当Nationbuilder对链接进行编码以进行跟踪时,如果链接包含多个查询参数,则会中断链接 例如,假设我们在Nationbuilder的电子邮件中插入以下链接: <a href="http://www.example.com/?a=1&b=2">click me</a> 假设我们的Nationbuilder网站位于www.website.org,则Nationbuilder将重写链接: <a hre

我们将Nationbuilder用于我们的网站,并发现当Nationbuilder对链接进行编码以进行跟踪时,如果链接包含多个查询参数,则会中断链接

例如,假设我们在Nationbuilder的电子邮件中插入以下链接:

<a href="http://www.example.com/?a=1&b=2">click me</a>
假设我们的Nationbuilder网站位于www.website.org,则Nationbuilder将重写链接:

<a href="http://www.website.org/r?u=http%3A%2F%2Fwww.example.com%3Fa%3D1&b=2&e=986513203a6d0d0a90fd5ab67500a9a5&utm_source=my_source&utm_medium=my_medium&utm_campaign=my_campaign&n=2">click me</a>
单击上面的链接时,Nationbuilder会对其进行处理并在其系统中记录单击事件,但随后会错误地重定向到并丢弃&b=2

大多数人会立即发现问题——我们的原始url(作为上面的u查询参数传递)没有被Nationbuilder正确编码。如果不是等号的话,至少应该对b前面的符号和进行编码,这样我们的整个原始url就会被u参数捕获。Nationbuilder创建的具有正确编码的正确链接应为:

<a href="http://www.website.org/r?u=http%3A%2F%2Fwww.example.com%3Fa%3D1%26b%3D2&e=986513203a6d0d0a90fd5ab67500a9a5&utm_source=my_source&utm_medium=my_medium&utm_campaign=my_campaign&n=2">click me</a>
令人震惊的是,Nationbuilder技术支持部门和他们的工程师表示,这种行为正在按预期进行。我们指出,没有人会期望一个工作链接变成一个断开的链接,但他们拒绝将其视为一个bug或至少是一个设计错误

有没有人建议我们如何绕过Nationbuilder这个用查询参数断开链接的功能?我们在URL中广泛使用查询参数。我们正考虑通过bit.ly缩短每个链接,这样它们就不会有查询参数,但这似乎是很多不必要的工作


谢谢

是的,只需使用一个参数获取链接,并使用这样的工具对其进行编码,这样您的URL就不会被NB的处理破坏

所以

example.com/page?a=1&b=2

变成


example.com%2Fpage%3Fa%3D1%26b%3D2

如果提供的解决方案都不起作用,您可以使用诸如bit.ly之类的URL缩短服务,并从NB电子邮件爆炸中链接到这些缩短的URL,然后将重定向到提供给缩短服务的完整URL。

嗨,Ryan,感谢您的反馈,但不幸的是,我们无法对URL进行编码,因为它是锚定标记的href属性的值。换言之,我们不能把它当作一个错误来对待和重写。这样做会导致Nationbuilder电子邮件中的链接完全断开。我编辑了我的原始问题,以澄清我们正在使用URL作为锚定标记的href属性。这看起来非常糟糕,可能是更改邮件提供商的原因。要解决此问题,您可以使用URL重写来生成URL,如http://www.example.com/a=1/b=2 并在服务器端解析;或者使用base64编码来屏蔽整个查询字符串。难看,但可以胜任。