2006/01/04 補充說明:
因為我已經改過網址的格式,所以文章裡的下載連結取消,新版 hack 請參閱另一篇文章「More Raw Request Mode hack V0.2」。
LifeType 目前有四種網址模式如下:
- 一般網址模式 ( NORMAL_REQUEST_MODE ) 所有的網址以 request 變數的方式放在網址中,主要是以各種 Id 組成。
- 簡潔網址模式 ( SEARCH_ENGINE_FRIENDLY_MODE ) 將 request 變數裡的各種 Id 組合成 Path Info ,讓網址成為搜尋引擎易於搜尋的模樣。這必需要 WWW 主機有支援並開啟 Path Info 和 ErrorDocument 重導向的功能。
- 網址重寫模式 ( MODREWRITE_MODE ) 其實這個模式很少看到有中譯名。這種模式利用 apache 的 rewrite url module 將易讀的網址重寫回一般網址的型式後,再以一般網址模式處理。這必需要使用 apache server ,並且支援及啟用 rewrite url module 才行。
- 自訂網址模式 ( CUSTOM_REQUEST_MODE ) 網站管理者可以依特訂的方式自訂各種網址,必需要 WWW 主機支援 ErrorDocument 重導向才能使用。
以上四種網址模式,除了一般網址模式之外,都需要 WWW 主機額外的一些支援。這些支援對租用虛擬主機架設 LT 的人來說,經常會受到限制,尤其是對不支援自訂 .htaccess 設定的虛擬主機而言,一般網址模式成為唯一的選擇。
一般網址模式並不是不好,但是過多的 request 變數,讓網址不易記,不易看,也不易用( 例如論壇裡 3gboke 關於 flash mp3 player 的討論 ),也較不利搜尋引擎搜尋。於是我想提出第五種網址模式,他只需要一般網址模式的環境,而且網址裡面只有一個 request 變數,希望能夠讓一般網址更易記易用。
目前已有初步的成果,只要修改兩個檔案,新增一個檔案,並修改一個資料庫設定值就可以啟用了。若有興趣,請往下看。
這個新的網址模式,我是用簡潔網址模式修改的。以文章的永久網址為例:
- 簡潔網址: http://server/lifetype/post/1/2
- 新網址模式: http://server/lifetype/index.php?post=/1/2
在接著做之前,請先備份你的 LT 系統,或是先在測試站上先測試。目前尚在開發階段,不建議直接使用在實用的 LT 站。
首先請下載我試作的 patch 檔:PrettyRawRequestModPatch-v0.1-alpha.zip。
解壓縮後,有三個檔案,請依下表分別複製到目的地:
檔案 | 路徑 | 備註 |
index.php | LT 根目錄 | 覆寫原檔案 |
requestgenerator.class.php | class/net | 覆寫原檔案 |
prettyrawrequest.class.php | class/net | 新增檔案 |
接下來要修改資料庫裡的網址模式紀錄。目前請先使用下面的 SQL 修改,未來進入實用階段時,會在管理界面裡直接設置。
update lt_config set config_value = 5 where config_key ='request_format_mode'
最後,可能得清理一下模版的快取,讓網頁以新的網址模式呈現。
這樣就完成啦!有興趣的 LT 請試試看,並給予任何意見做為未來改進。
接下來就是去 bugs.lifetype.net 提出一個 request ,看看開發團隊怎麼說了。
沒有留言:
張貼留言