自昨天 Pinterest 更新其网站以来,我的 Pinterest 的“Pin it”按钮停止正常工作,即旋转轮永远在弹出窗口中运行。
我的代码 - 以前可以正常工作 - 是:
<a data-pin-config="beside" href="//pinterest.com/pin/create/button/?url=<?=urlencode($url)?>&media=<?=urlencode($image_url) ?>&description=The picture I just pinned!" data-pin-do="buttonPin" >
<img src="//assets.pinterest.com/images/pidgets/pin_it_button.png" />
</a>
</body>
我还在结束标记之前包含了 Pinterest js 。
有趣的是,当我访问 Pinterest 的网站并尝试Add Pin
通过 URL 访问时,我得到:
“哎呀!无效的 URL”
我的 $url 是指传递几个参数的php页面,即
http://www.mywebsite.com/img.php?img_id=photo (999).jpg&album=...&page=...
更新 #1:我注意到,当发布的 URL 不包含任何括号时,直接或通过按钮在 Pinterest 上发布没有问题。尽管 URL 都在 php 中进行了 urlencoded,即 ( 和 ) 分别编码为 %28 和 %29,这应该处理括号,但它似乎不起作用。尽管我意识到它正在解释 url 编码的 %28 和 %29 代码,但浏览器仍然显示括号。
更新 #2:收到 Pinterest 的回复说
"有时,如果网站阻止亚马逊 IP,我们会看到这种行为。确保您没有阻止亚马逊 IP 或将我们的用户代理列入白名单:
Pinterest/0.1 + http://pinterest.com/
不幸的是,我们没有可以将您列入白名单的专用 IP 组,因为我们的 IP 会随着时间而变化。"
在 Pinterest 的回复之后,我进行了研究,并提出了以下相关链接:
http://wordpress.org/support/topic/note-when-entering-user-agent-whitelist
“ Pinterest 必须作为推荐人或代理列入白名单,这样它才能看到图像 - 如果不是,它只会看到重定向到 HTML 页面(因此“不是有效图像”)。尝试将 pinterest 和 pinterest.com 放在您的用户代理白名单“
问题:
这对任何人有用吗?
修改 .htaccess 或 robots.txt 以实现此目的的最佳方法是什么?
我也面临与 Tumblr 相同的问题。我已经验证没有括号,共享按钮可以正常工作。如果没有其他方法,我应该从 URI 中删除所有括号吗?