西元 2006 年 3 月的所有文章

WordPress 升級到 2.0.2 之後 feed 的問題

西元 2006 年 3 月 19 日 早上 5 點 50 分

最近 WordPress 己經釋出 2.0.2 版了,正好有空就把自己 blog (版本 1.5.2) 也升級到 2.0.2 版。升級的方法很簡單,請自行參考 WordPress CodexUpgrading WordPress 技術文件。個人認為 WordPress 2.0.0 版最優秀的新功能就是 「Improved Post Preview」,它可以讓你在寫文章時就可以用你 blog 目前的 theme 預覽文章,而非舊版的只能看到純文字和圖片,相信有用過的人都知道其中的差異。 :)

升級 WordPress 之後,我發現從使用 MovableType 至今一直沿用的三個 feed 網址 (index.rdfindex.xmlatom.xml) 都無法正確產生 feed,結果都變成下圖:

讀取 WordPress 的 feed 失敗

WordPress 本身沒有 index.rdfindex.xmlatom.xml 這三個專司產生 feed 的檔案,它是使用 wp-rdf.phpwp-rss2.phpwp-atom.php 等檔案來產生 feed。從 MovableType 改變使用 WordPress 為我的 blog 平台之後,我一直是用 Apache HTTP serverURL Rewriting Engineindex.rdfindex.xmlatom.xml 分別導到 wp-rdf.phpwp-rss2.phpwp-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.rdfindex.xmlatom.xml,並且讓它能正確產生 feed 呢?因為跳槽之前就已經有許多人訂閱我的 blog,確保這些檔案可以正常讀取就不用麻煩大家去更改訂閱的網址呀。 :p

jhead - 修改照片的日期時間或其它 EXIF 資訊

西元 2006 年 3 月 11 日 中午 12 點 49 分

每一張我們用數位相機拍攝下來的照片,相機會把拍攝時的日期和時間、相機廠牌和型號、拍攝時的快門時間和光圈大小、是否使用閃光燈,甚至 GPS 資料等其它資訊儲存在照片裡,這些資訊就是 EXIF (Exchangeable Image File Format)。這些資料,譬如日期和時間,可以讓我們在日後瀏覽照片時知道照片是在何時拍攝的,所以這些資訊對我們很有用。但是,常常有一些狀況會讓這些資訊出現差錯。

舉例來說,一般數位相機都是吃主電池來記憶日期和時間,所以如果相機太久沒用導致電池沒電時,相機裡的日期時間就會回復到出廠設定 (譬如可能是西元 2006 年 1 月 1 日 0 時 0 分 0 秒)。這時如果你換上一顆充飽的電池之後,你忘記要先重新設定相機裡的日期時間就開始照相的話,拍下來照片的日期時間就會是出廠設定的日期時間,這對往後回顧照片時會有困難。而且,相片管理程式大多是依據這些資訊來管理照片。照片的日期時間無法對映到現實環境,那你要怎麼去管理照片呢?另外還有一個可能是,你到另外一個時區的國家去旅遊,忘記先調整相機裡的時間,結果辛辛苦苦拍攝出來的照片都是記錄著台灣時間,而非國外當地的正確時間,相信日後整理照片時也會讓你傻了眼。

只要你遇到以上狀況時,可以用 jhead 這個程式來幫你快速修改每張照片裡的日期時間,jhead 目前支援的作業系統有 Windows、Linux、FreeBSD 和 Mac OS X,幾乎涵蓋大部分人使用的作業系統。
繼續閱讀…

Blog 最近掛得很嚴重

西元 2006 年 3 月 10 日 早上 7 點 01 分

最近 Blog 似乎是多災多難,不過這次的問題是最近家裡用的 Seednet ADSL 常無預警斷線。因為我是用 nsupdate 程式來把 sanwangx.brain-c.com 對應到從 Seednet ADSL 取得的 IP address,所以每次 ADSL 一斷線,Blog 的 IP address 就會變一次,所以我還要執行一次 nsupdate,讓程式去向我朋友的 brain-c DNS server 更新 sanwangx.brain-c.com 的對應 IP address。不巧的是,這段時間,我朋友的 DNS server 也在搬家,所以 Blog 只要遇到一次 ADSL 斷線,我的 Blog 就會連不上了。 Orz..

現在,Seednet ADSL 不再亂斷線了,朋友的 brain-c DNS server 也搬完家繼續運作了。希望不要再出什麼問題了。 @@a