BBClone으로 본 사이트 통계에서 언급한 것처럼 블로그의 통계를 확인하기위해 지난달부터 BBClone을 설치해서 사용하고 있다. 사실 접속 통계 프로그램이라는 관점에서 보면 BBClone의 기능은 상당히 미약한 편이다. 그런데 BBClone를 사용하는 이유는 다음과 같다.
- 전체적인 통계를 상당히 일목 요연하게 확인할 수 있다.
- DB를 사용하지 않기 때문에 설치가 간단하며, 이동이 상당히 편하다.
- 접속 통계에 필요한 기본적인 것들은 모두 갖추고 있다.
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> 태그로 바꾸면된다.