自前RSSの.RDFファイルがブラウザで開けない

久々の記事

自前でブログのようにRSSを出力したり、Pingを飛ばしたりなんてことに挑戦している

おおよそ完成した。。

が、rdf 拡張子でRSSのfeedを出力するようにしたのだが、ブラウザで直接ファイルにアクセスしてみると、FireFoxでは内臓リーダーのようなフォーマットで開けるがChromeだとダウンロードのダイアログが表示されてしまい、ファイルを開けない

通常だと、xml形式で下の画像みたいに開けるはず。(画像のはChrome)

ChromeでRSSファイルを表示

ChromeでRSS feedファイルを表示

このブログ wordpress のfeedは、https://osamushi.jp/feed/ となっていて拡張子は見えないけど、恐らくindex.xmlとかそんなファイル名だと思う。たぶん。

rdf という拡張子が原因かとも思ったが、livedoorなりfc2なりメジャーなブログのRSS機能で生成されるファイルは、どれも拡張子に関係なく、ブラウザで開ける

さくらのサーバーを使ってるのだが、ファイルマネージャーでフォルダ内をみるとXMLファイルにはファイルタイプが xml となっているのに対してRDFファイルはただ “ファイル” となっているだけ

なんかこの辺にヒントがあるような気がする

普段あまり意識しなかったが、OSなりブラウザなりがファイルを開くときに何を使って開くかを判断するための「MIME タイプ」という規格があるのは記憶にあった

そのMIMEタイプが、対象のファイルに関連付けされていないのではないかと考えてみた

Windowsでも、使ったことのない拡張子のファイルを開こうとすると「このファイルを開けません」がでることがあるよね

このファイルを開けません

このファイルを開けません

つまり、このWindowsで起こる現象と同じことがブラウザで起こったんじゃね?という訳

ググレカス

ということでググりますた

https://mikeneko.creator.club.ne.jp/~lab/web/htaccess/mime.html

世の中にはスバラスィ人がいらっしゃる

サーバーによりますけど、htmlとかxmlとか、昔からあるメジャー拡張子は最初から関連付けがされているけど、rdfのような最近のヤツはコッチで関連付けしてやる必要があるらしい

本件の場合はrdfという拡張子のファイルをxmlとして認識させたいので、対象ファイルの格納されているディレクトリに下記を記述したファイルを .htaccess として置けばよい

AddType xml rdf

rdfといっても中身はxmlなので、これでおk

実際やってみると、Chromeでは開けた

だがIEではNG

livedoorがrdfなので、livedoorのブログfeedをIEで開いてみたのだが、IE内臓と思われるリーダー形式で開いた

リーダーで開くということはlivedoorブログがIE対策として何か仕掛けしてるのかもしれないが、よくわからん

最後にOperaで開いてみたらChromeと全く同じフォーマットで開いた

そういえばOperaとChromeは同じブラウザエンジン(レンダリングエンジン)「Blink」を採用しているからなのかも

おそらくブラウザエンジンに依存してるんだろうね

FireFoxで開いてみると、関連付け前に開いた内臓リーダーでは無く、Chromeなどと同様のxml形式で開いた

本来 RSS feed はリーダーで読むもので、ブラウザで開けなきゃいけないというものでは無いので、IEだけ開かないが追求はこのへんで終わり

半端でスマソ

コメント