Permalink 유지하기

올초에 블로그를 바꾸면서 기존의 Permalink들이 깨지게 되었다. 이전에는 http://tomyun.pe.kr/mt/archives/life/000001.html처럼 일단 Movable Type의 디렉토리를 포함하고 있었고 카테고리도 별도로 표시하였으며 무엇보다도 해당 글의 ID가 그대로 노출되어 있는 형식이었다. 하지만 이러한 모양의 주소만 보아서는 도대체 어떤 글로 연결되는 것인지 알기가 어려웠다. WordPress에서는 이를 극복하여 http://tomyun.pe.kr/2004/01/11/first-post/와 같이 날짜와 해당 글의 제목만 깔끔하게 표시해주는 방식을 기본으로 취하고 있었고, 이러한 체계로 변환하는 과정에서 기존의 주소들은 사용할 수가 없게 된 것이다.

사실 블로그에 글도 별로 없고 인기가 있는 곳도 아니었기에 주소 체계가 바뀌는 것에는 별로 신경이 쓰이지 않았다. 딱 두 번 날려보았던 트랙백의 주소가 깨지는 것을 제외하고는 말이다. 하지만 이게 왠일? Google Analytics 등을 통해 확인해본 결과, 상당수의 방문자들이 기존의 주소를 통해 접근을 시도한다는 사실을 알게 되었다. 그렇다. 검색 엔진들이 다 긁어갔던 것이다. Google의 경우에는 Remove URL 기능을 사용하여 약간의 노가다를 통해 기존 주소들을 지워줄 수 있었으나, 다른 검색 엔진들에게는 취할 수 있는 방법이 없었다.

그래서 .htaccessmod_rewrite 설정을 건드려서 몇몇 인기(?) 주소들만 별도로 돌리려고 하였다가… 이왕 넣어주는 거, 옛날 주소들 합쳐봐야 얼마 안 되는데 그냥 다 넣어버리기로 하였다. 옛날 주소와 변경된 현재 주소를 뽑아내기 위해 할 줄도 모르는 Perl 스크립트를 붙잡고 삽질도 좀 했다. 원래는 mod_rewrite의 RewriteMap을 사용하여 외부 스크립트와 연동하여 간단하게 처리해주고 싶었으나, 이 기능은 서버 관리자의 권한이 있어야 된다나-_-; 그래서 멋지진 않지만 할 수 없이 .htaccess 화일에 모든 규칙들을 때려박는 식으로 처리해버렸다. 규칙이 너무 많아서 속도가 느려지지는 않을까 걱정을 했는데 크게 달라진 것은 못 느끼겠다. 여기에 각 글들의 주소뿐만 아니라 기존에 사용하던 이미지 폴더와 월별 주소들, 그리고 예전 피드 주소에 대한 정규식까지 만들어주니 모두 완료!

이제 404를 더 이상 보지 않아도 됩니다~

3 Responses

  1. 43

    보통 힘든 작업을 마친게 아니군 man!
    요즘 검색엔진의 성능은 정말 놀라워..

  2. 써놓으니까 거창하지 별 거 아니었으~

  3. Beautiful KIM

    역시 민한척 하면서 컴박사였던 자긴 나가서도 이런짓하고 있구나.

    자기가 없으니까 사무실컴들이 다 엉망이에요.

    빽도해서 군대 다시오게하는 방법없나?

Leave a Reply