일반적으로 추천자를 기반으로 웹 사이트는 사이트 - 홈, 페이지 A, 페이지 B 등의 다른 페이지에 링크가있는 메뉴 모음 ..PHP, 세션 상태가 "홈"이 링크
의 말합시다있다 주소가 http://www.example.com 인 사이트가 있습니다. 99 %는 누군가가 브라우저에 URL을 입력하면 "집"으로 표시된 페이지로 이동합니다. 선택적 확장자는 색인 [.html | .php]입니다 (예 : http://www.example.com/index.html). 그러나 사용자가 웹 사이트를 방문 할 위치에 따라 다른 페이지로 리디렉션하려는 유스 케이스가 있습니다. 예를 들어 페이지를 홍보하는 사이트에 광고가있는 경우 http://www.example.com/camefromad.html으로 리디렉션하면 일반 '홈'페이지와 거의 비슷하게 보이지만 약간의 텍스트를 추가하면 그들은 광고가 있던 페이지에서 왔습니다.
내 질문은 : 사용자가 "홈"링크를 클릭하면 항상 http://www.example.com/camefromad.html로 이동합니다 있도록 PHP를 사용하려면 참조 페이지에서 사이트에 착륙 한 후
수있는 방법이 있나요 IF 사용자가 먼저 착륙 했습니까? 내가 피하려고하는 것은 사용자가 http://www.example.com/camefromad.html으로 이동 한 다음 메뉴 모음에서 "홈"을 클릭하고 http://www.example.com/camefromad.html 페이지로 돌아 오지 못하게하는 것입니다. 일반 사용자가 거기에 갈 수 없기 때문에 공개 메뉴에서 해당 방문 페이지를 사용할 수 있습니다.)
이것은 PHP를 처음 사용하는 경우이며 세션 상태 등을 사용하여 함께 조각하려고하는데 아직 퍼즐을 아직 완성하지 못했습니다. 저는 여기에 "홈"링크를 나타내는 파일이다 ( index.php를 에있는 것입니다 : 사용자가 사이트에 올 때 내 생각이 변수를 설정하는 것입니다, 기본적으로
<?
session_start();
$_SESSION['amSet']= 0;
?>
<?
if ($_SESSION['amSet'] == 0) {
if (!empty($_SERVER['HTTP_REFERER'])) {
$referrer = $_SERVER['HTTP_REFERER'];
$_SESSION['amSet'] = 1;
}
}
if (preg_match("/other.example.net/",$referrer)) {
header('Location: http://example.com/camefromad.html');
}
?>
가되도록 리퍼러 변수가 해당 추천 사이트로 설정되어 있지만 사용자가 사이트 자체의 링크를 클릭하면 리퍼러를 재설정하지 않아도됩니다. 사용자가 사이트를 처음 방문했을 때 머물러 있기를 원합니다. 사용자가 "홈"링크를 클릭하면 항상 해당 페이지로 연결됩니다. 분명히 위의 코드는 작동하지 않습니다.
을, 레퍼러와 접근 방식은 올바르지 만이 힘 있음을 알아 두셔야합니다 일부 사용자가 리퍼러를 보내지 못하게하거나 (가짜를 보내면) 매번 작동하지 않습니다. –