| « 更新履歴 2006/08/29 | 更新履歴 2006/08/24 » |
301で転送したらフィードURLが変わっても購読者数は変わらなかった
前回、b2evolutionを、1.8のバージョンにアップグレードした際、XML FeedsのURLが変更されていることに気付いた。
例えば、0.9.xの古いバージョンでは、
- (A)
http://www.xdelta.net/blog/xmlsrv/atom.php?blog=2
だったのに対し、新しいものでは、
- (B)
http://www.xdelta.net/blog/FreeBSD?tempskin=_atom
となっていた。
従来通り、blog/xmlsrv/atom.phpのファイルも用意されており、(A)のURLにアクセスすると、(B)のURLにアクセスした時と、同一内容のフィードが得られる。
ただ、同じ内容のコンテンツが、別のURLでアクセスされるのは、なるべく避けたい。
それに、Bloglines等のRSSアグリゲータは、UserAgentに購読者数を含めてくるので、これだと、全く同じフィードなのに、(A)の場合は購読者数9人、(B)の場合は購読者数が1人といった具合になってややこしい。
駄目元で、.htaccessに、
RewriteCond %{QUERY_STRING} ^blog=2$
RewriteRule ^blog/xmlsrv/(atom|rss|rdf|rss2)\.php$ /blog/FreeBSD?tempskin=_$1 [R=301,L]
RewriteCond %{QUERY_STRING} ^blog=2$
RewriteRule ^blog/xmlsrv/(atom|rss|rdf|rss2)\.comments\.php$ /blog/FreeBSD?tempskin=_$1&disp=comments [R=301,L]
と記述して、(A)のURLにアクセスしてきた際、(B)のURLに301で転送して見ることにした。
しばらく期間を置いてログを見てみたところ、
65.214.44.29 - - [15/Aug/2006:17:43:46 +0900] "GET /blog/xmlsrv/atom.php?blog=2 HTTP/1.1" 301 257 "-" "Bloglines/3.1 (http://www.bloglines.com; 10 subscribers)" 65.214.44.29 - - [15/Aug/2006:17:43:46 +0900] "GET /blog/FreeBSD?tempskin=_atom HTTP/1.1" 200 8168 "-" "Bloglines/3.1 (http://www.bloglines.com; 10 subscribers)"
と購読者数が合計されている。(A)+(B)の計10になった。
(滅多に購読者数が増えないブログだから、そのように推定しています)
どうやら、当初の意図通りに事が運んだ模様(ついでに、livedoorのアグリゲータでも確認)。
その後、
65.214.44.29 - - [28/Aug/2006:16:22:11 +0900] "GET /blog/FreeBSD?tempskin=_atom HTTP/1.1" 200 8412 "-" "Bloglines/3.1 (http://www.bloglines.com; 11 subscribers)"
と、(B)のURLのみのアクセスになり、いつのまにか、旧(A)のURLではアクセスがなくなりました。
(この間、一人購読者数が増えています)
試しに、自分のアカウントのBloglinesのリーダを見てみたら、旧URLで登録してあったものが、新URLに置き換わっていました。
でも、302とかじゃ、どうなるのかは未確認です。
Trackback address for this post
Trackback URL (right click and copy shortcut/link location)
Feedback awaiting moderation
This post has 131 feedbacks awaiting moderation...