2

同じサイトのRSSフィードを処理する必要があるPHPスクリプトがあります。具体的には、WordPressRSSフィードの最新のブログをホームページに表示しています。ステージングサーバーでは正常に機能しましたが、ライブ(完全に異なりますがLAMP)ホスティング環境では機能していません。

実行することもfile_get_contentscurlリモートURLで問題なく実行することもできますが、独自のRSSフィードを取得しようとすると、404notfoundページが返されます。もう1つの奇妙なことに、試しfile_get_contents(http://domain.com/test.txt)てみると404で失敗しますが、試してみるとfile_get_contents(http://www.domain.com/test.txt)、テストテキストファイルの内容が取得されます。これはすべて、domain.com(www.domain.comではない)からスクリプトを実行していることを前提としています。

ここに例を設定しました:http://bkwld.com/test.php

4

5 に答える 5

2

わかりました。なぜこれが行われているのかはまだわかりませんが、フィードバーナーを介してフィードを実行し、RSSフィードを解析することで解決します。リモートドメイン上にあるため、私のテストでは機能します。理想的ではありませんが、w/eです。

于 2009-06-03T01:18:39.830 に答える
2

私はちょうどこの同様の問題を抱えていました。DNSが問題であり、ドメイン名を解決していません。スクリプトでは、ドメインの代わりにIPを使用する必要があります。

cmdでドメインにpingを実行し、そのIPを使用できます。

于 2009-10-17T15:05:39.733 に答える
1

私は非常によく似た問題を抱えていました-あなたはあなた自身のドメイン名の代わりに127.0.0.1を使用しようとするかもしれません(あなたのapacheセットアップがあなたがそれをするのを妨げないと仮定して)。私が信じているドメイン解決と関係がある、APIの癖。

于 2009-06-02T15:27:33.083 に答える
0

確かに、奇妙です。ファイルをどのように解析しますか?SimpleXMLに直接ロードすることもできます。

$xml = simplexml_load_file("http://domain.com/blog/feed/index.php");
/* Use Simple XML to parse the RSS feed */

このアプローチはあなたの問題を解決しないことを私は理解しています、あなたは別のアプローチを使用するだけです-しかし多分それはあなたにとって十分です。

于 2009-06-02T20:38:47.650 に答える
0

domain.com/test.txtが404を返し、www.domain.com / test.txtが成功した場合、ホストDNSのホストドメインが異なって構成されている可能性があります。いずれにせよ、あなたはすでに「www」でRSSフィードを取得しようとしたと思いますが、相対パスで試しましたか?例えば:file_get_contents('../../feed/')

于 2011-10-26T11:31:37.447 に答える