테스트 사이트 - 개발 중인 베타 버전입니다

도메인별 접속자 집계 편리님 도와주세요 채택완료

감기약 11년 전 조회 9,528
안녕하세요
여러도메인으로 하나의 사이트를 운영하고 있습니다.
각각의 도메인별 접속자수를 보고 싶은데요
'직접'으로만 표현이 되니 이걸 어떻게 하면 좋을지 궁금합니다.
소스를 보니 KEY 값이 있을때만 표현이 되던데요
수정할 부분좀 부탁드립니다.
급한대로 bbs/visit_insert.inc.php 파일의  15번째줄을 아래와 같이 수정하였습니다.
if (isset($_SERVER['HTTP_REFERER'])) {
     $referer = escape_trim($_SERVER['HTTP_REFERER']);
} else {
     $referer = escape_trim($_SERVER['SERVER_NAME']);
}
댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
편리
11년 전
그누보드5에서 제공되는 방문자 집계는 도메인 별로 따로 기록이 되지 않습니다.
도메인별 접속자집계는 referer 기준으로 표시가 되는 부분입니다.
직접이라 표시되는 것은 브라우저 주소창에 직접 도메인을 입력해서 접속하거나
referer 값이 없는 경우를 말하는 것입니다. 예를 들어 abc.com 이라는 사이트에서
test.com 이라는 사이트의 링크를 타고 접속하게 되면 test.com의 방문자로그에
referer는 abc.com 으로 기록됩니다. 즉 운영하는 사이트의 도메인과는 같지 않을 수 있습니다.
로그인 후 평가할 수 있습니다

답변에 대한 댓글 5개

감기약
11년 전
네.. 아쉽네요 감사합니다.
직접의경우는 $key 값에 대해서 좌우지 되는거 같던데..
이부분도 설명해주실수 있으실지... 바쁘실텐데 죄송합니다.
편리
11년 전
vist_domain.ph 파일을 보면 $key 값 즉 referer 값이 없을 때를 직접이라고 기록합니다.
감기약
11년 전
referer 값을 넣을려고 visit_insert.inc.php 파일에다가 아래 소스를 넣었는데요

if (isset($_SERVER['HTTP_REFERER'])) { // 이전주소가 있으면?
$referer = escape_trim($_SERVER['HTTP_REFERER']); // 이전주소 입력
} else { // 이전주소가 없으면?
$referer = escape_trim($_SERVER['SERVER_NAME']); // 현재주소 입력
}

이렇게 해도 직접이라고 나오고 있습니다.
어떻게 해야 직접을빼고 도메인들로만 나오게 할수 있을지.. 부탁드립니다.
편리
11년 전
visit_domain.php 파일의 소스코드를 보시면 아시겠지만 아래 코드 처럼 referer 시작이 http 로 되어야 합니다.
[code]
preg_match("/^http[s]*:\/\/([\.\-\_0-9a-zA-Z]*)\//", $str, $match);
[/code]
$_SERVER['SERVER_NAME'] 앞에 http:// 이런 문구를 추가해서 저장하셔야 합니다.
감기약
11년 전
$referer = escape_trim("http://".$_SERVER['SERVER_NAME']);
위와같이 하였습니다. 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인