【问题标题】:How to redirect first-time visitors to another page?如何将首次访问者重定向到另一个页面?
【发布时间】:2018-12-04 13:49:47
【问题描述】:

我是否可以检查我的网站上的访问者是否访问了我的着陆页 URL? (如果它没有被访问过,提供重定向到它?)

我的问题是,我需要新访问者首先看到我的目标网页。当访问者从我的一个子站点复制/粘贴链接到其他人时,这(当然)不会发生。

我一直在寻找一点,但空手而归。这样的事情有可能吗?

【问题讨论】:

  • 维护用户 IP 数据库或设置 cookie 会有所帮助。

标签: javascript php html url redirect


【解决方案1】:

您可以在您的页面中使用 Cookie 来检查用户之前是否访问过登录页面

你可以通过两行来做到这一点

着陆页中的第一个

document.cookie = "landingPage=visited; expires=Fri, 31 Dec 9999 23:59:59 GMT";

您所有页面或仅在默认主页中的第二行,以检查用户是否访问了登录页面

if(!document.cookie.includes('landingPage=visited;')) {
  window.location.href = "http://example.com/lp.html";
}

【讨论】:

  • 只是为了澄清。您的第一行创建 cookie 并设置到期时间,但您的第二行检查该 cookie 如果它存在,重定向 - 正确吗?如果是这样,在我的情况下,重定向在这个逻辑中需要是一个“else”,因为我只想在他们没有有cookie的情况下重定向,对吧?
  • @W4yp01nt 感谢您的回复,但我设置了“!”在条件:)之前,这意味着如果没有cookie重定向访问者,并且在登陆页面我们将设置cookie
  • @W4yp01nt 简短回答我检查了它是否不存在
  • 实现这一点,我发现了一个问题,但修复了它。 if(!document.cookie.includes('landingPage=visited;')) { window.location.href = "http://example.com/lp.html"; } 实际上应该是 if(!document.cookie.includes('landingPage')) { window.location.href = "http://example.com/lp.html"; } 因为实际 cookie 的名称只是“LandingPage”
【解决方案2】:

是的,您可以检查访问者(IP 或 COOKIES 或会话 ID)是否访问过您的着陆页!这可以通过几行 PHP 代码来实现。但最佳 SEO 实践建议不要在页面上强制重定向访问者。您可以向访问者建议链接到您的着陆页的号召性用语链接或横幅。

【讨论】:

    【解决方案3】:

    应用 facebook 使用的方法来确保帐户安全,当您尝试从一个全新的位置登录您的 Facebook 帐户时,它会将您带到一个检查站页面以验证您的身份!

    您可以记录用户详细信息,如浏览器、位置等,如果存在详细信息,则用户存在,否则为新用户!

    或者使用上面答案中描述的cookie方法!

    【讨论】:

      猜你喜欢
      • 2021-06-13
      • 2018-06-19
      • 2014-09-18
      • 1970-01-01
      • 2019-03-16
      • 2022-08-13
      • 1970-01-01
      • 2011-06-02
      • 2021-02-19
      相关资源
      最近更新 更多