2013-05-04 3 views
0

A.com은 항상 내 제품에 연결되어 방문자가 체크 아웃 한 다음 논의하도록합니다.특정 링크에서 방문한 사람들을 다른 페이지로 리디렉션

나는 이것을 원하지 않는다. 나는 내 대역폭을 먹는 무의미한 방문에 관심이 없다.

내가 수동으로 다시 A.com, 또는 google.com

전형적인 링크 곳 모두에 A.com를 리디렉션 할 내 제품 페이지의 헤더에 코드 또는 htaccess로 파일을 배치 할

나는이 코드와 함께 할 수있어

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

:에서 제공하는이 형식에

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

하지만 난하지 않으 ~까지 "FORBIDDEN"메시지를 보여줍니다. 나는 그저 내 사이트에서 멀리 떨어진 곳에 그들을 친절하게 보여주고 싶다.

해결이 같은

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

리퍼러로 보내지 않는 이유는 무엇입니까? –

+0

물론, 어떻게해야할지 모르겠습니다. – user1083148

+0

나는 그것이 단지'RewriteRule^* $ % {HTTP_REFERER} '라고 생각한다. –

답변

0

뭔가 당신이 원하는 것을 정확히해야한다는 :

$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