使用者工具

網站工具


service:apache

這是本文件的舊版!


使用Apache自動判別語系

http://casper.tiger2.net/blog/2006/04/23/apache/

httpd.conf內容如下:

DirectoryIndex index.html index.html.var index.php index.php3 index.php4
AddHandler type-map var

index.html.var內容如下:

URI: index.en.html
Content-language: en
Content-type: text/html
URI: index.zh-tw.html
Content-language: tw, zh-tw
Content-type: text/html
URI: index.zh-cn.html
Content-language: cn, zh-cn
Content-type: text/html

這樣一來, 當browser連線上來時, Apache便會去判別browser的預設語言. 若是英語, 則轉到index.en.html, 若是zh-tw, 則轉到index.zh-tw.html

不過有個問題, 如果browser的語言不在上面, 在Apache 2.0測試的結果是會抓第一個, 而Apache 2.2測試會出現錯誤訊息, 說找不到語言檔.

2006/06/03 Update: 今天才注意到, 是因為 Apache 2.2 的 language 設定檔放到 conf/extra/httpd-languages.conf, 然後我忘了把httpd.conf裡面的include打開了. 而當browser設定的語言都找不到時, Apache 會根據LanguagePriority (在httpd-languages.conf)的順序顯示. (其實這地方似乎只有第一個會用到吧? 什麼情況下會用到後面的語言呢?)

又, 看了一下Apache的manual目錄, 才注意到有另外的方法可以設定, 有興趣的可以參考conf/extra/httpd-manual.conf和manual下面的任何一個.html檔案. 下次再找機會研究一下, 看有什麼不同.

service/apache.1170687266.txt.gz · 上一次變更: 2007/11/08 14:39 (外部編輯)