将访问某个特定链接的用户重定向到另一个页面

问题描述:

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

但我不希望至 显示“FORBIDDEN”消息。我只是想在他们离开我的网站的路上好好展示他们。

SOLUTION

<?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 
    } 

?> 
+0

为什么不把他们发回给推荐人? – 2013-05-04 20:36:54

+0

当然,但我不知道该怎么做。 – user1083148 2013-05-04 20:38:59

+0

我相信它只是'RewriteRule^* $%{HTTP_REFERER}' – 2013-05-04 21:12:32

像这样的东西应该做的正是你想要的东西:

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

然而,要知道,任何人都可以伪造他们的引荐。

+0

谢谢我现在就试试看。你介意把这个链接以这种格式吗? forum.A.com/showthread.php?t=1111111我很难解码它如何适应所有这些字符和斜线。 – user1083148 2013-05-04 20:41:06