這個功能開啓很久了,但直到昨天才發現遺漏了atom.xml……
我想根據HTTP首部的Accept-Language決定提供簡體或繁體的文件。在Chrome中,chrome://settings/languages可以設定偏好語言,瀏覽器會據此設置Accept-Language首部。較好的處理方式是解析該字段,獲取qvalue,根據優先級選取最恰當的語言。但僅用於支持簡繁體,我想用取巧的辦法:忽略優先級,只要Accept-Language裏出現了zh-Hant、zh-TW、zh-HK等字樣,就返回繁體,否則返回簡體。
在Nginx配置文件中與server塊同級的地方加上:
1 | map $http_accept_language $lang { |
我用Hexo生成網站,源文件用繁體寫成。對於hexo generate生成得到的2015-10-06-nginx-accept-language-zhs-zht.html,用OpenCC轉換得到簡體版本:2015-10-06-nginx-accept-language-zhs-zht.html.zhs.html。視情況還需要轉換其他一些文件,比如atom.xml、提供“閱讀最多文章”功能的popular.json。
1 | # zsh |
在Nginx配置文件中指定需要簡繁體支持的路由,
1 | server { |