将访问某个特定链接的用户重定向到另一个页面
问题描述:
我有一种情况,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
}
?>
答
像这样的东西应该做的正是你想要的东西:
$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
为什么不把他们发回给推荐人? – 2013-05-04 20:36:54
当然,但我不知道该怎么做。 – user1083148 2013-05-04 20:38:59
我相信它只是'RewriteRule^* $%{HTTP_REFERER}' – 2013-05-04 21:12:32