|  |  |
No.2: Re^2: firefoxでのRSSが・・・
[No.1への返信]
- 日時: 2012/06/19 21:44
- 名前: スガラボット
ID:9I.thVkA
- 参照: http://vmorita.com/bbs/patio/forum.shtml
- ジェネ さん、こんにちは。
> RSS1.0とATOM1.0がうまく表示されず、下記のようにソース?が表示されてしまいます><
> :
> IEではちゃんと表示されてるみたいですが。。。
前の記事で、./lib/wpfeed.pl だけでも差し替えてみて下さいと書きましたが、色々当時の状況を再現しながらテストを続けているうちに、実はもう一つブラウザで RSS がソース表示になってしまう原因を思い出しました。
ジェネさんがお使いのサーバは独自ドメインとなっていますがレンタルサーバでしょうか、それとも自宅サーバでしょうか? 実は僕の場合はさくらのレンタルサーバなんですが、RSS1.0/RSS2.0/ATOM1.0 のような RSS ファイルをブラウザからアクセスすると、サーバがリクエストに応答するときの応答ヘッダ内の、コンテントタイプが Text/html となっており、FireFox などのブラウザでは正常な RSS 表示とならず、テキスト表示になっておりました。 試しに、ジェネさんのサーバの応答ヘッダを調べてみると、コンテントタイプが Text/Plain となっていますね。
サーバからの応答ヘッダに記述されているコンテントタイプは、通常ブラウザでは表示されませんが、例えば FireFox の場合、「live HTTP headers」というアドオンをインストールすると表示することができます。サーバはブラウザによるユーザからのリクエストに対し、リクエストされたファイルの種類に従って、HTTP レスポンスヘッダー内のコンテントタイプとして、リクエストされたファイルの MIME タイプを返します。これによってブラウザがリクエストしたファイルに適合した方法で描画する訳です。
リクエストされたファイルが RSS ファイルのときは、コンテントタイプとして Text/xml を出力しないといけない訳ですが、アパッチ HTTPD などをデフォールトでインストールするとこの設定がされていません。 アパッチの場合、httpd.conf という設定ファイルの中に次のディレクティブを追加する必要があります。
AddType text/xml xml rdf rss atom
という一行です。 これを通常は、http.conf の <IfModule mime_module> ~ </IFModule> 内のセクションに記述します。
自宅サーバの場合は httpd.conf iこの設定を入れて アパッチを再起動してみて下さい。レンタルサーバなどで httpd.conf の設定ができない場合は、サーバのルートディレクトリにこのディレクティブを含んだ .htaccess を置いてください。参考のために、この一行を記述した .htaccess ファイルを ZIP で圧縮して添付しておきます。いかがでしょうか?
-
|