【发布时间】:2011-09-06 16:37:39
【问题描述】:
我正在尝试在电子邮件中添加 Twitter 分享链接。因为这是在电子邮件中,所以我不能依赖 JavaScript,必须使用“构建你自己的”推文按钮。
例如,分享到 Google 的链接:
<a href="http://www.twitter.com/share?url=http://www.google.com/>Tweet</a>
这很好用。我遇到的问题是当 URL 有查询字符串时。
<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm?bar=123&baz=456">Tweet</a>
带有查询字符串的 URL 会混淆 Twitter 的 URL 缩短服务 t.co。我已经尝试以各种方式对其进行 URL 编码,但无法正常工作。我得到的最接近的就是这样做。
<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456">Tweet</a>
这里我只编码了查询字符串。当我这样做时,t.co 成功地缩短了 URL,但是在跟随缩短的链接后,它会将您带到编码的 URL。我在地址栏中看到http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456,在浏览器中出现以下错误
找不到
在此服务器上找不到请求的 URL /foo.htm?bar=123&baz=456。
我不知道如何解决这个问题。
编辑:回复:onteria_
我已尝试对整个 URL 进行编码。当我这样做时,推文中不会显示任何 URL。
【问题讨论】:
-
您需要对整个 URL 进行 url 编码。这包括从
http://向下的所有内容
标签: twitter query-string share url-encoding