【WordPress】どうしてもRSSフィードが404を返すので、RSSを出力するスクリプトを書いた

2013 年 10 月 12 日 土曜日

トップページのUrlを変更したあたりから、このブログのRSSフィードが正しく表示されなくなった。2日間試行錯誤した末、諦めてXMLファイルを生成するスクリプトを書いた。

もっと正しい方法があるだろうし、お勧めできる方法ではないかもしれないが、備忘録として。他に良い案があればぜひ教えて欲しい。

WordPressの構成

バージョン
WordPress 3.3.1
一般設定 > WordPressアドレス
http://www.bmoo.net/archives
一般設定 > サイトアドレス
http://www.bmoo.net/
実際にWordPressを設置しているアドレス
http://www.bmoo.net/wordpress/
パーマリンク設定 > パーマリンク
/archives/%year%/%monthnum%/%post_id%.html

1つのWordPressで複数のブログを管理しているので、実際にWordPressを設置しているアドレスと一般設定 > WordPressアドレスは異なる。

/archives/に設置している.htaccessは以下の通り。

RewriteEngine On

RewriteRule (.*) /wordpress/$1 [L]
RewriteRule . /wordpress/index.php [L]

また、トップページのURLを変えたからといって、今更パーマリンクは変えたくないので、パーマリンク設定では先頭に/archives/を記載している。

なぜ、問題が発生したか。予想。

トップページのUrlを数日前にhttp://www.bmoo.net/archives/ からhttp://www.bmoo.net/ に変更したことが問題発生の引き金だと思うが、なぜ変更すると表示されなくなったかは分からない。

これまでRSSを配信していたUrl http://www.bmoo.net/archives/index.xml が404を返すようになった。http://www.bmoo.net/archives/feed/rss や http://www.bmoo.net/feed 、 http://www.bmoo.net/index.xml なども404。

XMLファイルを生成するスクリプト

固定ページにXMLファイルを生成するスクリプトを書いた。この固定ページにアクセスすると毎回XMLファイルが更新されるという荒々しいものだ。

固定ページでPHPを実行させるためにExec-PHPプラグインをインストール済み。


これで、この固定ページにアクセスすると、アクセスした時点での最新記事がRSSに反映される。RSSフィードはもともとFeedBurnerで配信していたので、FeedBurnerのXML Sourceを今回生成したXMLファイルパスに変更した。

冒頭にも書いたが、正しい解決方法は他にあるはずだ。もし良い案があるのであれば、是非教えて欲しい。

関連記事

コメントをどうぞ

トラックバック

このエントリーのトラックバックURL:

http://www.bmoo.net/archives/2012/02/312814.html/trackback