BBClone으로 본 사이트 통계에서 언급한 것처럼 블로그의 통계를 확인하기위해 지난달부터 BBClone을 설치해서 사용하고 있다. 사실 접속 통계 프로그램이라는 관점에서 보면 BBClone의 기능은 상당히 미약한 편이다. 그런데 BBClone를 사용하는 이유는 다음과 같다.

  1. 전체적인 통계를 상당히 일목 요연하게 확인할 수 있다.
  2. DB를 사용하지 않기 때문에 설치가 간단하며, 이동이 상당히 편하다.
  3. 접속 통계에 필요한 기본적인 것들은 모두 갖추고 있다.

BBClone을 이용하다보면 가장 불편한 부분은 상세 통계참조 URL이다[1]. 상세 통계를 클릭하면 가장 우측 열에 참조 URL이 나타난다. 익히 알고 있는 것처럼 참조 URL은 자신의 사이트를 링크한 사이트를 나타낸다.

상세 통계참조 URL은 일반적인 링크인 경우에는 별 문제없이 동작한다. 그런데 구글과 같은 검색엔진에서 한글로 검색한 페이지를 통해 접속한 경우에는 한글 인코딩에 문제가 있어서 참조 URL을 클릭하면 그림처럼 전혀 엉뚱한 결과가 나타난다.

검색어: msocache검색어: 요청된 로그온 유형

이러한 현상은 URL 인코딩된 한글을 또 다시 URL 인코딩해서 전송하기 때문에 발생한 현상으로 다음 절차에따라 간단히 해결할 수 있다.

BBClone의 설치 폴더에서 show_detailed.php를 찾아 원하는 편집기로 읽어 변경전을 변경후로 바꾼다[2].

**변경전***
63: return "<div align=\"left\"> \n"
64:     ."<script type=\"text/javascript\">\n"
65:     ."<!--\n"
66:     ."document.write('<a href=\"go('".urlencode($url)."')\" rel=\"nofollow\""
67:     ."title=\"$str\">$str</a>');\n"
68:     ."-->\n"69:  ."</script>\n"
70:     ."<noscript><span title=\"http://$url\">$str</span></noscript>\n"
71:     ."</div>\n";

**변경후**
63: return "<div align=\"left\"> \n"
64: /*  ."<script type=\"text/javascript\">\n"
65:     ."<!--\n"
66:     ."document.write('<a href=\"go('".urlencode($url)."')\"    rel=\"nofollow\" "
67:     ."title=\"$str\">$str</a>');\n"68:     ."-->\n"
69:     ."</script>\n"*/
70:     ."<A href=\"http://$url\" target=_blank>$str</a>\n"
71:     ."</div>\n";

위에서 알 수 있듯이 64~69행을 주석 처리하고 70행의 <noscript>를 제거한 후 <span>를 <A> 태그로 바꾸면된다.

관련 글타래


  1. 현재 사용하고 있는 BBClone의 한글 언어 파일은 직접 번역한 한글 언어 파일이다. 따라서 시중에서 구한 한글 언어 파일을 사용한 경우 용어에 차이가 있을 수 있다. 
  2. 처음에는 66행을 urldecode로 바꿨지만 Google에서 오류가 나는 항목이 많아 스크립트를 사용하지 않게 소스를 수정했다.