【发布时间】:2013-11-26 19:08:00
【问题描述】:
我有一个需要重定向的网站(我们称之为 www.abc.com)。登录页面是 www.abc.com/index.html,因此重定向需要在该页面上。如果引荐来源网址为空(有人直接键入域)或引荐来源网址来自应重定向到 www.abc.com/splash 的 abc.com 域(例如 google.com)外部,则重定向需要工作/index.html.
我想出的最接近的方法是下面的,但它不起作用。当我去 abc.com 时,它会进入很好的启动页面。但是,当我单击启动页面上的链接转到 abc.com 时,它会再次重定向回启动页面。无限循环。不知道在这里做什么,任何帮助表示赞赏!
<script type="text/javascript" charset="utf-8">
if (document.referrer == '' || document.referrer.indexOf('www.abc.com') != -1) {
top.location="http://www.abc.com/splash/index.html";
}
</script>
【问题讨论】:
-
HTTP_REFERER 不保证存在或准确。不要依赖它。
-
浏览器并不总是提供 document.referrer。如果引用者来自 https,则会被阻止,或者如果浏览器中的安全设置阻止,则不会提供任何内容。这些人将永远无法通过启动页面,并且将无法使用您的网站。
-
谢谢大家,这很有帮助。我没有意识到从安全站点到非安全站点会删除引荐来源网址。这是有道理的,当我从谷歌来到我的网站时,它并没有给我一个推荐人。我必须找到另一种方法......
标签: javascript redirect referrer