【问题标题】:Different redirect based on referral基于推荐的不同重定向
【发布时间】:2017-09-18 09:33:43
【问题描述】:

我想知道是否可以根据推荐人(他来自的网址)重定向某人,即:

  1. 如果用户 A 点击 facebook.com 上的链接,他将被重定向到 xxx.com/fb
  2. 如果用户 A(同一用户)点击 facebook 以外的任何其他网站上的链接,他将被重定向到 xxx.com/other

我想知道是否可以这样做。

我找到了一个有用的代码,但我不知道如何修改它以使如果有人来自除 Facebook.com 以外的任何网站,他们将被重定向到 xxx.com/other

我找到的代码:

RewriteEngine on

RewriteCond %{HTTP_REFERER} ^http ://foo\ .com [NC]
RewriteRule pic\.jpg http ://mywebsite .com/pic.jpg [R]

RewriteCond %{HTTP_REFERER} ^http ://foo2\ .com [NC]
RewriteRule pic\.jpg http ://website .com/pic2.jpg [R]

【问题讨论】:

    标签: html .htaccess redirect


    【解决方案1】:

    RewriteCond 是重写的条件。

    RewriteCond %{HTTP_REFERER} ^http://foo\ .com [NC]
    

    如果 HTTP REFERER 以 http://foo.com 开头,则表示重定向,不区分大小写 ([NC])

    因此,如果您想从 facebook 重定向,您可以通过 facebook 更改 foo...

    RewriteCond %{HTTP_REFERER} ^http://facebook\.com [NC]
    

    \ 是为了逃避.,因为它是一个正则表达式......因为 facebook 是 https......你也应该考虑一下:

    RewriteCond %{HTTP_REFERER} ^http://facebook\.com [NC,or]
    RewriteCond %{HTTP_REFERER} ^http://facebook\.com [NC]
    

    至于重写规则,我们需要更多信息……我们可以将任何内容重新路由到一个简单的登录页面,或者使用路径链接到更准确的页面。这将取决于你。对于着陆页:

    RewriteRule $1 http ://xxx.com/fb [R,L]
    

    【讨论】:

    • RewriteRule $1 http ://xxx.com/fb [R,L] 如果referer来自fb外部,该规则将把用户重定向到xxx.com/fb?
    • 不,你把它放在 rewriteCond... 之后重定向到 facebook。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    • 2013-12-28
    • 2011-08-31
    • 2013-05-03
    • 1970-01-01
    相关资源
    最近更新 更多