假設繁體中文原網站 A1,簡體中文分身網站 A2,轉碼程式放在 B。整個資料傳遞的流程會變成:
- 使用者對網站 A2 發出查詢
- 網站 A2 將此查詢用 mod_proxy 轉給一支放在網站 B 的轉碼程式
- 網站 B 收到查詢以後,模擬原使用者的行為,對網站 A1 發出一個相同的查詢,拿到原本使用者會取得的頁面資料
- 此轉碼程式將頁面的繁體中文轉為簡體中文
- 把轉碼的結果傳回給網站 A2
- 網站 A2 把頁面傳回給使用者
因此原本的一個查詢,實際上將產生兩個(轉碼程式放在不同網站)甚至三個(轉碼程式放在同一網站)的資料查詢量,另外由於 cookie 沒辦法傳遞到轉碼程式發出的查詢中,所以顯示的資料可能有誤。
因此,今天嘗試了另一種解法:使用 mod_filter。它可以在整個流程的最後,等所有的資料都處理完,準備要把結果傳回給使用者之前,呼叫另一支程式來處理即將要輸出的結果。因此轉碼的動作可以在一個查詢裡面完成。至於原本的轉碼程式,只要稍做修改,把原有吃 CGI 的參數,改成吃 STDIN 即可。
因此現在的 Leeym's Blog 簡體中文版 就是套用這個系統啦~~~
0 意見:
張貼意見