FeedBurner:既存のRSSフィードをスムースに置き換える

前回の作業の結果、
このサイトのRSSフィードの管理が全て『FeedBurner』でできるようになりました。
非常に便利。

しかし長いことサイトをやってると、既存のRSSフィードを参照しているユーザが多く、
お願いしてもなかなか切り替えが進みません。
(大体、僕だって速やかに対処するかどうか怪しい…)
双方にとってあんまり幸せではないので、
従来のRSSフィードから、そっと移動(リダイレクト)させてやることにします。

参考は、このあたり。

チェリオメアリー :: FeedBurner で焼き直し
Ogawa::Memoranda: FeedBurnerに移行した件について。
[MT] : FeedBurner移行メモ


作業内容
.htaccessを開いて(無い場合は用意する)、以下の文字列を入力。
(要:mod_rewrite。サーバに入っていない場合はRedirectで代用)

RewriteEngine on
RewriteRule ^index\.rdf$ (FeedBurnerのRSS) [L,R=permanent]
RewriteRule ^index\.xml$ (FeedBurnerのRSS) [L,R=permanent]
RewriteRule ^atom\.xml$ (FeedBurnerのRSS) [L,R=permanent]

上のプログラムの意味は、
1行目は宣言、2-4行目が指示。
2行目を例に取れば、index.rdfに一致するファイルは、(FeedBurnerのRSS)に転送される


そういうわけで、提供していたRSSファイルにアクセスすると、
そのリクエストはFeedBurnerに自動的に転送される、要するに、
すべてのRSSで表示されるのはFeedBurnerのものということになったわけです。
便利。


しかし、ここで一つ落とし穴が。
一部のファイルでなんかエラーが頻発するので、おかしいな?と思っていたのだけど、
よくよく考えてみると当たり前だった。
もし、既存のファイルをFeedBurner用に流用した人は要注意。

RSSファイル→(FeedBurnerに転送)→RSSファイルを読みに行く→(FeedBurnerに転送)→…

という無限ループに陥りますよ。
まぁ、設定する前に気づけよお前って感じですけど…
実際、他の参考サイトの記述を見てもピンと来なくて、しばし悩んでしまいました。
うーむ。
むしろそっちの方が問題だ?


これを回避するためには、
FeedBurnerがチェックするためのrssファイルを新たに生成してやればOKです。
つまり、RSS2.0用のテンプレートを丸ごとコピーして、
名前を、rss2.xmlとかに変えてやってそれをFeedBurnerに読ませる、と。
書き出しファイルが増えるように思えますが、
いや従来のファイルは書き出さなくて良くなるので、減る…んじゃないかな。


以上で、多分移行はスムースに行くはず。
データ解析なんかも出来るんで便利かな。