将从特定链接访问的人重定向到另一个页面

时间:2013-05-04 20:33:51

标签: wordpress .htaccess

我有一种情况,A.com总是链接到我的产品,然后让他们的访问者检查出来,然后讨论它。

我不想要这个,我对他们毫无意义的访问感兴趣,这些访问只会占用我的带宽。

我想手动将代码放入我的产品页面标题或.htaccess文件中,该文件会将A.com重定向到A.com或google.com

它们都来自的典型链接采用以下格式:

forum.A.com/showthread.php?t=1111111

我知道你可以用这段代码完成:

RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} badsite\.com [NC]
RewriteRule .* - [F]

但我不希望显示“禁止”消息。我只想在远离我的网站的路上向他们展示。

<?php
    $HTTP_REFERRER=$_SERVER['HTTP_REFERER']; 
    if ($HTTP_REFERRER) { 
    // check if the referrer is on your noentry list 
    // if so redirect it to another page 
        if ($HTTP_REFERRER == "http://website.com") { 
           header("Location: http://gotothiswebsiteinstead.com");
            die(); 
        } 
    } else { 
    //everything is OK 
    }

?>

1 个答案:

答案 0 :(得分:0)

这样的事情应该完全符合你的要求:

$refererHost = parse_url($_SERVER['HTTP_REFERER'], PARSE_URL_HOST);
if (preg_match('/^(www\.)?badhost\.com$/i', $refererHost)) {
    header('Location: ' . $_SERVER['HTTP_REFERER']);
    die();
}

然而,请注意,任何人都可以伪造他们的推荐人。