웹 사이트에서 "301 permanent redirect"를 사용하여 내 사이트에이를 감지하고이를 통해 내 웹 사이트에 액세스 할 때 페이지를 표시하는 코드를 설정할 수있는 방법이 있습니까?301 영구 리디렉션
누구에게이 아이디어가 있습니까?
웹 사이트에서 "301 permanent redirect"를 사용하여 내 사이트에이를 감지하고이를 통해 내 웹 사이트에 액세스 할 때 페이지를 표시하는 코드를 설정할 수있는 방법이 있습니까?301 영구 리디렉션
누구에게이 아이디어가 있습니까?
리퍼러 만 얻을 수 있습니다. 마지막 요청시 클라이언트가 얻는 서버에서 http 상태 코드를 가져올 수 없다고 생각합니다.
내 대답은 아니오입니다. 서버에 301 상태 코드를 가져올 수 없습니다.
하지만 referer 변수를 사용하면 약간의 마법을 쓸 수 있습니다.
PHP에서 이것을 읽을 수 있습니다 :
$_SERVER['HTTP_REFERER'];
별로 할 수 없습니다. 당신이 301을하고 있다면, 당신은 쿼리 스트링에 리퍼러를 설정할 수 있습니다. 그러나 당신이 아니기 때문에, 당신은 요청이 당신에게 준 것을 잡을 수 있습니다.
PHP의 $_SERVER['HTTP_REFERER']
을 사용하여 방문자의 출처 URL을 추적 할 수 있습니다. 나는 약간 dodgy 생각하고 모든 브라우저에서 동일한 결과를 얻을 수 없습니다. PHP's documentation조차 '정말로 신뢰할 수는 없다'고 말합니다.
왜 리디렉션에 .htaccess를 사용해야합니까? 당신은 이런 일을 할 수있는 : A의 index.php를
사이트 : B의 index.php를
header("Location: http://siteb.com/?ref=".urlencode('http://sitea.com');
사이트 :
if(isset($_GET['ref']))
{
if($_GET['ref']=='http://sitea.com')
{
// Do something
}
}
편집 :
경우 당신은 할 수 없습니다 사이트 A의 코드 또는 서버 설정을 수정하려면 다음을 사용하십시오.
if($_SERVER['HTTP_REFERER']=='http://sitea.com')
{
// Do something
}
서버 측 언어는 무엇입니까? – ManseUK
아니요. 사이트에서는 클라이언트 브라우저에서 'GET'요청 만 들어옵니다. 301 리디렉션은 다른 사이트와 클라이언트 브라우저간에 직접 이루어지며 자신의 사이트에는 표시되지 않습니다. –
301 리디렉션을위한 특정 페이지를 표시하려면 왜 301 리디렉션 대신 해당 페이지를 가리 키지 않는 것이 좋습니까? – JaredPar