ワードプレスのブログには wlwmanifest.xml と default.xml の 2 つの xml ファイルしかなく、どちらも RSS フィードのようには見えないため、これを尋ねます。ただし、RSS フィードのように見える feed-rss2.php という名前の php ファイルが表示されます。私がこれまでに読んだことのあるものはすべて、RSS フィードは xml ファイルでなければならないと言っています。私が間違っている?内部にxmlコードを含むphpファイルにすることはできますか?
3 に答える
それらは、XML ヘッダーを含む XML コードを出力しているだけです。実際のファイルは XML ファイルである必要はありません。応答が text/xml であり、XML 出力が含まれている必要があります。CSS ファイルなどについても同じことができます。
HTTP にはファイル拡張子のようなものはありません。
クライアントはサーバーに URI を要求します。Content-Type
サーバーは、送り返すファイルの種類を示す HTTP ヘッダーと、HTTP 本文のファイルで応答します。
クライアントは、サーバーが静的ファイルの読み取り、プログラムの実行、またはその他の手段によってその応答を生成したかどうかを気にしません (また、知ることもできません)。
クライアントにとって、XML を出力する PHP プログラムと静的 XML ファイルに違いはありません。
RSS リーダーは、サーバー側ではなく、クライアント側のみを検索します。ワードプレスのインストールでfeed-rss2.php
は、次の形式で正しいヘッダーを指定することにより、サーバーによって処理される PHP ファイルです。
header("Content-type: text/xml");
読者がそれが PHP ファイルではなく XML ファイルであることを理解できるようにします。Robboが言ったように、実際のファイルは XML ファイルである必要はありません。応答が text/xml であり、XML 出力が含まれている必要があります。
スタイルの場合でも同じです。wordpress の が表示された場合、次のstyle.php
ようになります。
header("Content-type: text/css");
include($theme . "/style.css");
そのため、PHP の機能を使用して適切なファイルを読み取り、出力を同じ URL に表示します。簡単ですね。