WordPress 升級到 2.0.2 之後 feed 的問題
西元 2006 年 3 月 19 日 早上 5 點 50 分最近 WordPress 己經釋出 2.0.2 版了,正好有空就把自己 blog (版本 1.5.2) 也升級到 2.0.2 版。升級的方法很簡單,請自行參考 WordPress Codex 的 Upgrading WordPress 技術文件。個人認為 WordPress 2.0.0 版最優秀的新功能就是 「Improved Post Preview」,它可以讓你在寫文章時就可以用你 blog 目前的 theme 預覽文章,而非舊版的只能看到純文字和圖片,相信有用過的人都知道其中的差異。
升級 WordPress 之後,我發現從使用 MovableType 至今一直沿用的三個 feed 網址 (index.rdf、index.xml 和 atom.xml) 都無法正確產生 feed,結果都變成下圖:

WordPress 本身沒有 index.rdf、index.xml 和 atom.xml 這三個專司產生 feed 的檔案,它是使用 wp-rdf.php、wp-rss2.php 和 wp-atom.php 等檔案來產生 feed。從 MovableType 改變使用 WordPress 為我的 blog 平台之後,我一直是用 Apache HTTP server 的 URL Rewriting Engine 把 index.rdf、index.xml 和 atom.xml 分別導到 wp-rdf.php、wp-rss2.php 和 wp-atom.php。
為什麼這三行程式碼在 WordPress 2.0.2 上會無法作用呢?我也不清楚。目前是用 Neerav Bhatt blog 「Fix Wordpress RSS feeds」 文章裡的方法來應急一下。方法很簡單,只要把 WordPress 的 feed 檔案 (譬如 wp-rdf.php) 複製成另一個檔案 (譬如 index.rdf),然後在 .htaccess 裡加上:
<files index.rdf>
ForceType application/x-httpd-php
</files>
其中的 ForceType 指令強制 Apache 把 index.rdf 當成 PHP 程式碼處理 (雖然它的副檔名不是 .php。如此一來,使用者或 feed reader 讀取 index.rdf 時就可以正確讀到 blog 的 feed 了。
後記:為什麼跳槽到 WordPress 之後,我還要保留 index.rdf、index.xml 和 atom.xml,並且讓它能正確產生 feed 呢?因為跳槽之前就已經有許多人訂閱我的 blog,確保這些檔案可以正常讀取就不用麻煩大家去更改訂閱的網址呀。 :p
(這是什麼?)
西元 2006 年 3 月 31 日 at 6:40 pm
To wahaha:
WordPress Codex 就有安裝說明文件了呀。 ^^;
(這是什麼?)
西元 2006 年 4 月 17 日 at 8:32 pm
這就是 http://feeds.feedburner.com/ 的用處了,讓你改了網址之後,別人不用改他們的設定
(這是什麼?)
西元 2006 年 4 月 23 日 at 4:55 pm
To whatup:
我也有申請 FeedBurner,只是 WordPress 升級到 2.0 版之後,我就忘了把 FeedBurner 的網址放到網頁上了。 :p
(這是什麼?)
西元 2006 年 5 月 19 日 at 10:43 am
你好..有一個問題請教一下…
我也是使用…wordpress v2.0.2…我有嘗試將內定的英文字改成中文….
為什麼我在網頁上都顯示 亂碼ㄋ……
像 sidebar.php …等….?
(這是什麼?)
西元 2006 年 5 月 21 日 at 2:34 pm
To jason:
你修改完儲存的文字編碼格式有跟 WordPress 的編碼格式一樣嗎?
PS:WordPress 的預設編碼格式是 UTF-8 。
(這是什麼?)
西元 2006 年 5 月 22 日 at 3:29 pm
嗯嗯….感恩…..終於找到原因了~~~Orz
(這是什麼?)
西元 2006 年 6 月 5 日 at 9:20 pm
我又來了…再請問一個問題..
wordpress 中留言或回覆都會寄信給對方!!..
但我收到的mail 主旨 都會有亂碼…可能也是… UTF-8 在搞怪!!
有辦法改正嗎??!!….
再次感謝!!~
(這是什麼?)
西元 2006 年 6 月 10 日 at 1:04 am
To jason:
只有主旨是亂碼嗎?還是內容也是亂碼?或許你可以試著把收信軟體的「文字編碼」改成「UTF-8」?
(這是什麼?)
西元 2006 年 8 月 8 日 at 1:39 pm
我想问一下。我把我的英文模板的一些php文件换成了UTF8的编码 是不是就依偎着所有的php文件都要换成这个编码呢?是不是还要在程序的某个地方设置一下整个blog的编码?
我现在发现我的feed也有问题,feedsky和feedburner已经很久没有抓取过我的feed了。
feedvadidator提示我的feed有问题:y0unsg.cn/feed
Sorry
This feed does not validate.
*
line 1, column 1: XML parsing error: :1:1: not well-formed (invalid token) [help]
请问要如何解决呢?请发到我的邮箱或者blog好吗?谢谢
(這是什麼?)
西元 2006 年 8 月 20 日 at 3:33 pm
To y0ungs:
WordPress 預設的 theme 是 UTF-8,所以確定儲存格式為 UTF-8 即可。另外,你的 feed 的第一行第一個字即被判讀為錯誤的 XML 格式,你可以用 XML 格式檢查工具 (XML Validator) 檢查看看。