在分享链接时,我注意到linkedIn附加了一个’#!’重定向后到URL的末尾.这打破了我的Backbone.js单页应用,因为我们在URL中使用了pushstate,所以’!’被解释为Backbone.js路由.
这是一个例子link(不是我的网站).它会带你到:
http://blog.mindresearch.net/blog/bid/336633/The-Connection-Between-Math-and-Neuroscience#!
我知道我可以在服务器端过滤这个,或者在客户端以多种方式处理它,但它看起来很奇怪,我看到没有关于这个主题的在线帖子,所以我想发一个问题询问是什么,以及是否有办法摆脱它?
当然,我也会通过电子邮件发送LinkedIn支持,但认为这对遇到同样问题的其他人有用.
最佳答案 散列后的AFAIK没有发送到服务器;我使用简单的客户端脚本来重定向这些URL.一个天真的重定向,但它的工作原理.我没有看到任何阻止它发生的方法,除非LinkedIn和Facebook改变他们的传出重定向政策.
<script>
if( window.location.hash == '#!' ) {
window.location.href = 'http://domain.tld/';
}
</script>
当然它只适用于支持JavaScript的客户端,但是根据我的经验,这些hashbang URL只会破坏这些客户端.