피드버너-종속적이지 않은 RSS 피드 주소 만들기

속삭임[作] 2006/05/21 03:17
이 글은 태터-종속적이지 않은 블로그 계정 꾸미기의 후기 쯤 된다.

어찌하다보니 피드버너 뽐뿌에 밀려서 피드버너를 사용하게 되었다. 기존에 쓰던 주소를 그대로 쓰면서 피드버너를 사용하기 위해서는, .htaccess 파일과 정규표현식을 붙잡고 싸워야했다 -_-

기본적으로는 피드버너 등록과정 정리-몽상철학가를 참고하여 비교적 매뉴얼에 충실하게 과정을 밟았지만, 몇가지 다르게 했던 점을 적겠다.

2단계 새로운 RSS 만들기를 먼저 했다. 설마 그럴 리는 없겠지만 /blog/rss/index.php 파일이 업그레이드될 가능성(그래서 멋모르고 태터를 업그레이드할 가능성)을 고려하여, 또 심볼릭 링크를 만들었다 -_-

ln -s ./rss rss1    ('태터 디렉토리/blog/'에서)

따라서 태터 자체 RSS 주소는 http://cubic3.woweb.net/blog/rss1 이 되었다. 이 주소를 가지고 피드버너에 등록하여, http://feeds.feedburner.com/Cubic3라는 피드를 얻었다. 그리고 나서 태터 디렉토리의 .htaccess 파일과 싸우기 시작했다. .htaccess 파일은 홈페이지 주소(URL)을 조건에 따라 처리하는 파일이다. 유닉스에서는 파일 이름 맨 앞이 점이면 숨김 파일이라는 뜻이라, 앞에 점이 붙는다.

태터 디렉토리의 .htaccess 파일에 보면 다음과 같은 내용이 있다.

RewriteRule ^index\.xml$ 어쩌구저쩌구
...
RewriteRule ^(.+)$ blog/$1/index.php [E=SURI:1,L]

이 두 행이 그 전에 /index.xml, /rss로 오던 RSS 주소를 받아주던 규칙들이다. 아래 규칙은 범용적이라 손대면 큰일 난다.(/xxx에 대한 요청이 오면, /blog/xxx/index.php로 연결해주는 역할) 하지만 위에 있는 규칙일 수록 먼저 적용되므로, RewriteRule ^index\.xml$로 시작하는 한 줄을 다음 3줄로 대체하면 된다.(태터툴즈에서 피드버너로 RSS 통계내기-귤 참조했음)

RewriteRule ^index\.xml$ http://feeds.feedburner.com/mentalese/blog [E=SURI:1,L]
RewriteRule ^rss/?$ http://feeds.feedburner.com/mentalese/blog [E=SURI:1,L]
RewriteRule ^rss/index\.php$ http://feeds.feedburner.com/mentalese/blog [E=SURI:1,L]

굵은 글씨(/?)는 내가 추가한 것이다. 원래 귤님의 규칙은 /index.xml, /rss, /rss/index.php 세 가지 경우를 다 처리할 수 있도록 되어있지만, (블로그 주소)/rss/ 로 입력되는 경우를 처리하지 못한다. 저 /?는 rss 다음에 /가 들어갈 수도 있음을 알려주는 역할을 한다. (정규표현식 참고)

마지막 단계인 스킨 파일 수정은 필요없다. 왜냐하면, 애초부터 http://cubic3.woweb.net/blog/rss로 구독하게 하는 것이 목표였으니까. 그래야 피드버너 망해도(...) 문제가 없지. 이렇게 해서 RSS피드 정리도 끝.

꼬리말/ ...crizin님의 피드버너 리다이렉터 플러그인에서 한 줄만 삭제하면 되는 문제였다. 피드버너에 등록하고자 하지만 rss주소를 계속 유지하고자 하는 나같은 사람을 위해서 고친 파일을 여기 올린다. 플러그인 안의 index.xml 파일을 대체하면 된다.
원상복구를 할까? -_-...

꼬리말2/ 결국 setup.php 실행을 통한 블로그 재설정을 통해서(config.php 삭제 필요), .htaccess를 덮어 씌우고 수정한 플러그인을 실행했다. 이게 웬 삽질.
top

Trackback Address :: http://cubic3.woweb.net/blog/trackback/78

  1. lunamoth 2006/05/21 08:17 PERMALINKMODIFY/DELETE REPLY

    crizin님이 만드신 유저에이전트를 인식해서 피드버너봇일 시에만 원본피드에 접근하게하는 플러그인도 쓸만한 것 같더군요. 이경우에 별도의 예외사항이 있을것도 같기 합니다만...

    • 라임에이드 2006/05/21 17:51 PERMALINKMODIFY/DELETE

      그 방법은 분명히 쓸만한 플러그인이었습니다. 딱 한가지만 빼고요. 그 플러그인은 다음 일을 합니다.

      1. 피드버너봇은 원본피드에 접근시킴
      2. 다른 봇이 원본피드를 찾으면 피드버너로 보냄
      3. 블로그의 RSS 주소를 피드버너의 주소로 바꿈

      1,2번은 정말 간단하게 이루어지고, 귀찮지 않게 원하는 결과를 쉽게 얻습니다만, 3번은 원하지 않는 결과여서...원글에서 말한 것 같이, 그렇게 되면 결국 피드버너가 망하면 또 귀찮아지니까요.

    • 단비 2006/06/23 00:02 PERMALINKMODIFY/DELETE

      제가 소스분석을 잘 못했는지는 모르지만 태터 1.0.6의 경우에 피드 xml 안에 치환자가 존재하지 않습니다.
      바꾸신 xml 파일을 보니 치환에 의한 치환만을 하지 않도록 하신 것인데요, 그럴 필요가 있을까요.

      자기의 피드 주소를 자기 도멘으로 하고 그 위치에 접근하면 피드버너로 보내서 컨텐츠를 가져오게 하면 될 것 같습니다만.
      단지 피드버너에서 만들어내는 피드 중의 절대 주소만을 피드버너의 절대 URL로 하지 않게만 하면 될 것 같은데요.

    • 라임에이드 2006/06/23 15:36 PERMALINKMODIFY/DELETE

      단비// 이렇게 하면 단비님께 댓글 알리미가 갈지 안갈지 잘 모르겠네요. 이 글 보시면 꼭 알려주시기 바랍니다 ㅋ

      우선, 제가 얘기한 index.xml 파일은 태터툴즈의 rss/index.xml 파일이 아니고, 피드버너 플러그인의 plugins/FeedBurnerRedirector/index.xml 입니다. 당연히 치환자는 존재하지 않지요 -ㅅ-;

      그리고 제가 제거한 이유는, 제 블로그의 RSS 버튼에 링크된 주소가 http://feeds.feedburner.com/cubic3 로 바뀌지 않고 http://cubic3.woweb.net/blog/rss 로 남아있게 하기 위해서입니다. 단비님의 블로그에서 RSS버튼에 마우스를 갖다대보세요.

      그리고 네, 남에게 직접 알려주는 경우(블로그수집기 등)에는 자기의 블로그 주소 + /rss 로 알려주면, 알아서 피드버너로 연결이 되고, 신경쓸 필요가 없습니다. 다만 저는 거기에 더해서, 제 블로그에 찾아왔다가 구독하려고 하는 사람에게도 같은 주소를 볼 기회를 주려고 했을 뿐입니다.

      그리고 '피드 중의 절대 주소'라는 것은 피드버너의 피드에서 블로그로 오는 링크에 대한 얘기시죠? 저도 그 체크박스를 해제하고 제 블로그로 직접 오도록 하고있습니다.

      요새 올블로그가 말썽을 타더니 피드버너도 살짝 시끄럽군요. 다행히 그 기능을 바로 끌 수 있게 되어있어서 큰 소란은 없는 것 같습니다만...

  2. eternalbleu 2006/06/12 21:44 PERMALINKMODIFY/DELETE REPLY

    가장 좋은건 플러그인을 안쓰는거 아닐까요?
    쓰다보니 뭔가 이상해서 그냥 미사용으로 바꾸고 있는데, 메타 블로그 등록시에만 피드버너 주소를 쓰고 있습니다.

    • 라임에이드 2006/06/13 02:40 PERMALINKMODIFY/DELETE

      "피드버너 뽐뿌에 밀려서" 가 중요한거죠. -_-

      피드버너를 쓰고는 싶은데, 티가 안나게 쓰고 싶으니 이런 편법을 쓰게 되네요.

Write a comment