0

我有一种情况,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 
    }

?>
4

1 回答 1

0

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

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

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

于 2013-05-04T20:37:36.867 回答