星期一, 12月 08, 2008

轉址轉不過去?

MagpieRSS 這套處理 RSS 的 PHP 程式非常地好用,不過今天發現它無法處理 MobileMe 相簿的 RSS,後來發現是因為 MobileMe 的 RSS 會轉址(Redirect)到另一個地方。其實 MagpieRSS 也會處理轉址的問題,所以另人不解問題是出在哪裡。後來到 Snoopy.class.inc 裡面修改程式,把網頁的 header 列出來,才發現 MobileMe 在轉址時,給的轉址 header 竟然是 location: 而不是 Location:,也就是第一個字母沒大寫,而偏偏 MagpieRSS 在用 Regular Expression 處理時只尋找大寫開頭的 Location,自然是找不到轉址的目的地了。只要修改 MagpieRSS 的 Regular Expression,讓它可以認得小寫開頭的 location,就解決這個問題了。總之,這個問題竟然是因為大小寫的不同而產生的,實在是很鳥。

星期二, 12月 02, 2008

安裝 WordPress MU

最近在虛擬主機上安裝 WordPress,但是卻發現如果要建立多個不同網誌,就要重覆安裝整套 WordPress,可說是很不經濟。

另一個選擇是使用 WordPress MU,在一套系統中建立多個網誌。不過這套系統傳到虛擬主機上以後 ,卻不斷出現網站未定義,或 internal server error  的錯誤訊息。奇怪的是把 WordPress MU 的目錄設成 751 終於可以安裝了,原來設成 777 反而不行。另外也根本不必先改 wp-config-sample.php,也不必把檔名改成 wp-config.php,改了反而會有問題,要做設定只要在成功進入 WordPress MU 後在網頁上進行即可。

做好以上更改後,終於可以進入設定頁面。不過安裝完成後,又會出現 500 internal server error。其實這是因為它在 .htaccess 中加入了 php_flag register_globals 0php_flag display_errors 0 的兩行設定,但是有些伺服器無法支援這種寫法。既然我用的虛擬主機已經是這樣設定,就可以拿掉這兩行。拿掉後,WordPress 就能正常運作了。