content_type.flavourが効かない?

2006/04/21 Fri 07:59

ふと、うちのフィードもFeedBurner日本版)で焼いてみようかと思いたち、

このあたりを参考に、既存の*.rssテンプレートを複製して、拡張子をrss10にして、ヴァリデータで確認……してみたら、なぜかrss10のほうだけinvalidに。テンプレートは全部同じはずなのに。

feedAnalyzerの結果で違いを探してみると、validなほう(rss)は

URL : http://cu39.s57.xrea.com/index.rss
ステータス : OK (200)
サーバー : Apache
更新時間 : 不明
ファイルサイズ : 不明
コンテンツタイプ : application/xml charset=utf-8
スペック : RSS1.0 encode=utf-8
タイトル : 氷山みたいなレタス 

invalidなほう(rss10)は

URL : http://cu39.s57.xrea.com/index.rss10
ステータス : OK (200)
サーバー : Apache
更新時間 : 不明
ファイルサイズ : 不明
コンテンツタイプ : text/html ("charset" は "us-ascii" になります)
スペック : 不明 encode=utf-8
タイトル : 

ということで、どうもContent-Typeヘッダでコケてるらしい。Feed ValidatorのほうでもContent-Typeがtext/htmlになってるようだし。content_type.rss10が効いていないということなんだろうけど……なんで? テンプレートファイル見直してみたり、blosxom.cgiのソースとにらめっこしたり、.htaccessいじってみたり、blosxom 2.0.1にしてみたりといろいろやったけどダメ。rss10という拡張子を他の文字列(rrrとかrrssとか)に変えてみてもダメで、これが特に不可解。*.rssならcontent_typeテンプレートは効いてるのに。HTTPヘッダを触るプラグインも入れてないしなぁ……。

というわけで、とりあえず現象だけメモして考えてみる。サーバ設定の問題ということもあるのかなぁ。

追記:げ、テストしてみたらイヤなことを発見してしまった。なんかことごとくcontent_type.flavourが効いてなかったらしい……。

対象現在表示されるContent-Typecontent_type.flavourの内容
/index.htmltext/htmltext/html; charset=UTF-8
/index.rssapplication/xml; charset=UTF-8application/xml; charset=UTF-8
/index.rss10text/htmlapplication/xml; charset=UTF-8
/index.trackbacktext/htmlapplication/xml; charset=UTF-8
/index.atom (未使用)text/htmlapplication/atom+xml; charset=UTF-8

ぜんぜんダメだったんじゃん orz こうなるとむしろ、*.rssだけcontent_type.flavourが有効になってることのほうが不思議。

このサンプルだけを見て考えると拡張子3文字以上はNGという推測も成り立つけど、cp *.trackback *.tstして作ったtstフレーバーテンプレートでも同じくNG。むむむ。

追記:テスト用CGIでヘッダを比べていると、ModLayoutが働いているものだけヘッダが上書きされていることがわかって、腑に落ちた。もっと早く気づいてもよかったな。XREA固有の問題にももう慣れたよ……。

X-Powered-By: ModLayout/3.2.1

広告の自動挿入、ModLayout関連のでのエラーは既知の問題となっています。
特にヘッダーを操作、上書きする処理にエラーが発生します。クッキー、Location等で期待しないエラーが発生します。
このような場合は、手動で挿入してください。

残念ながら、現在のところ、ModLayout関連のエラーは修正予定はありません。
別の広告配信システムを1年以上前から用意していますが、変更いたしますと、ModLayout関連のコマンドが使えなくなるため、保留しています。

ModLayoutコマンドが使えなくなってもいいから別の表示法に切り替えてほしいなぁ……まあそれを期待するなら金払ったほうが早いという話か。

ひとまず.htaccessでいくつかの拡張子をLayoutIgnoreURIさせていただいた。アプリ自動処理系だから許してもらえるだろう、と思っておくことにする。

LayoutIgnoreURI *.atom
LayoutIgnoreURI *.rss
LayoutIgnoreURI *.rss10
LayoutIgnoreURI *.trackback

でも、こうする前から*.rssに関しては上書きされてなかったのは謎のまま。大元の設定で切ってるのかな。

Posted at 07:59 | Blosxom | 0 writebacks | edit
Tagged as: ,

writebacks

trackback URI

http://cu39.s57.xrea.com/blosxom/20060421_contenttype.trackback


SPAM ロボットを排除するため文字判読テストをお願いしています。画像に書いてある2つの単語を入力してください。単語の間には半角スペースを入れます。