Nginx 多語系進階設定 - iT 邦幫忙
文章推薦指數: 80 %
其實如果你們已經有各國別域名的話。
只要.com的做判斷就好。
其他的tw、jp。
你根本不需要再判斷語系。
程式碼寫個依域名鎖定語系就行了。
連session、cookie都用不到。
2
Nginx多語系進階設定
nginx
kyoe
2020-06-1813:47:37‧702瀏覽
最近公司想把官方網站分開成中文版/英文版/日文版
每個語系版面不盡相同,所以預計會都分開做
然後有要求多語系的部份
目前是想在輸入統一網域company.com後各自依瀏覽器語言分別轉向各自網址-company.com.tw/company.com/company.jp
上網爬文後有看到可以直接在nginx處理掉這部份,但遇到一個問題,如果多語系轉向各自網站之後,有辦法依照上次使用者選擇的語系分嗎?
本來是想用cookie做,但不知道nginx能不能做cookie的判斷
分配原則大約是:
如果使用者有按過某個語系C(setcookie)=>nginx轉語系C
如果使用者第一次來沒按過東西或沒cookie記錄=>nginx依瀏覽器語言判斷
如果nginx真的沒法做到是不是就要做在下一層的後端語言中呢?
回答3
討論
邀請回答
追蹤
檢舉
×
邀請回答
輸入邀請回答者的帳號或暱稱
Loading
找不到結果。
已達邀請上限
邀請回答
{{result.user.nickname}}
{{result.user.account}}
已邀請的邦友{{invite_list.length}}/5
取消邀請
{{invite.nickname}}
{{invite.account}}
關閉
登入發表討論
3個回答
舊至新
新至舊
最高Like數
1
dragonH
iT邦超人5級‧2020-06-1814:14:22
vue或react那類的前端framework
搭配i18n
可以把語言別寫在cookie或localstorage裡
user每次進來就是上次選擇的語言或預設
用瀏覽器判斷應該也是可以
反正就是js的操作
nginx操作cookie的話
應該可以參考這個
現在應該都是用i18n居多
應該比較少寫多個網站
因為只需要維護i18n的語言list就好
回應
1
分享
檢舉
kyoe
iT邦新手5級‧
2020-06-1814:42:51
檢舉
對,但是老闆對各國的版面有不同的排版跟要求...我的角度當然是i18n的好..就是..
對,但是老闆對各國的版面有不同的排版跟要求...我的角度當然是i18n的好..就是..
修改
登入發表回應
2
㊣浩瀚星空㊣
iT邦超人1級‧2020-06-1815:17:17
nginx可以獲取到http_user_agent
這可以先做基本的裝置語系導向。
其實如果你們已經有各國別域名的話。
只要.com的做判斷就好。
其他的tw、jp。
你根本不需要再判斷語系。
程式碼寫個依域名鎖定語系就行了。
連session、cookie都用不到。
至於不同域名的session或cookie共用問題。
你可以全綁到.com上就好了。
回應
分享
檢舉
登入發表回應
1
froce
iT邦大師1級‧2020-06-1815:35:26
一般來說瀏覽器會送Accept-Language的檔頭,對其做map,然後重導向即可。
範例參考下面網址:
https://gist.github.com/varnav/782d5aeb42c6ffa77678025767013c95
map$http_accept_language$index_redirect_uri{
default"/en/";
"~(^|,)en.+,ru""/en/";
"~(^|,)ru.+,en""/ru/";
"~(^|,)en""/en/";
"~(^|,)ru""/ru/";
}
location=/{
return302$index_redirect_uri;
}
可以看到如果沒傳Accept-Language會導向/en/,如果ru在前會導向ru。
我沒實際測過就是了。
回應
1
分享
檢舉
kyoe
iT邦新手5級‧
2020-06-2009:16:07
檢舉
感謝大大
不過nginx我是有找到跳轉的方式
但現在想做到的是使用者如果有選過其他語言的話以他選過的為主這個比較麻煩
我期望的場景是使用者第一次透過.com總站進來後,轉往其他語言的子站時會被記錄,下次他進總站就直接幫他導去他曾選過的子站,除非他在從子站點連結回到總站,才會再回到總站
感謝大大
不過nginx我是有找到跳轉的方式
但現在想做到的是使用者如果有選過其他語言的話以他選過的為主這個比較麻煩
我期望的場景是使用者第一次透過.com總站進來後,轉往其他語言的子站時會被記錄,下次他進總站就直接幫他導去他曾選過的子站,除非他在從子站點連結回到總站,才會再回到總站
修改
登入發表回應
我要發表回答
立即登入回答
相關問題
关于nginx301重定向的问题高手帮忙看一下是什么问题
關於利用Dockerfile生成NginxImage一事討論
nginxrewrite+proxy_pass後的404轉跳
關於Centospurge安裝問題
關於Linuxnginxpurge安裝問題
關於purge404的問題
關於NginxGeoIP的相關問題
關於「Nginx正向代理Cache配置」問題
請教oxidized安裝問題
NGINX搭配WEBPACKDEVSERVER開發模式
iT邦幫忙鐵人賽
參賽組數
1087組
團體組數
52組
累計文章數
20477篇
完賽人數
572人
鐵人賽最新文章
.NetCoreWebApi_筆記21_Swagger及OpenAPI介紹與配置使用方式_API管理與測試探討
.NetCoreWebApi_筆記20_api結合ADO.NET資料庫操作part8_新聞文章查詢
.NetCoreWebApi_筆記19_api結合ADO.NET資料庫操作part7_新聞文章的編輯更新與刪除
.NetCoreWebApi_筆記18_api結合ADO.NET資料庫操作part6_新聞文章表格陳列查詢
.NetCoreWebApi_筆記17_api結合ADO.NET資料庫操作part5_新聞文章新增_新聞類別元素透過API綁定方式
[Bonus系列]-使用useCallback&useMemo的正確時機是什麼?
大盤到底能不能攻上一萬八??
gotodie?那個goto到底能不能用啊?
2021/12/12更新
予焦啦!一夢終須醒......
前往鐵人賽
技術推廣專區
[Day2]抓取每日收盤價
[Day1]基本工具安裝
利用python取得永豐銀行API的Nonce
[Day03]tinyML開發板介紹
永豐金融API測試員
[Day01]在享受tinyML這道美食之前
[Day3]使用ta-lib製作指標
[Day4]函數打包與買進持有報酬率試算
計算API所需要的參數:HashID
計算API所需要的參數:IV
前往鐵人賽
熱門問題
公司想要架設一個網購物站,但是不知道要怎麼規劃預算
正要準備開始上CCNA…
無網際網路時,請問兩台電腦如何‘無線’遠端連線
遠端監控電腦效能
如何設定一台電腦,有線網卡走公司內網,無線網卡走外網,同時運行?
關於網頁顯示問題
mssql資料庫搬移時,怎樣出所有需要的資料會比較好?
請問有在做關貿資料串接的資訊公司嗎?
NAS、雲端儲存空間、隨身硬碟差別在那?怎麼選?
照片辨識比對軟體開發
IT邦幫忙
站方公告
【2021iThome鐵人賽】登登登!究竟獎落誰家,2021iThome鐵人賽得獎名單正式揭曉
熱門tag
看更多
13th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
2018鐵人賽
javascript
2017鐵人賽
windows
php
python
windowsserver
linux
c#
程式設計
資訊安全
css
vue.js
sql
分享
熱門回答
正要準備開始上CCNA…
遠端監控電腦效能
如何設定一台電腦,有線網卡走公司內網,無線網卡走外網,同時運行?
NAS、雲端儲存空間、隨身硬碟差別在那?怎麼選?
無網際網路時,請問兩台電腦如何‘無線’遠端連線
照片辨識比對軟體開發
關於網頁顯示問題
公司想要架設一個網購物站,但是不知道要怎麼規劃預算
mssql資料庫搬移時,怎樣出所有需要的資料會比較好?
DefaultDomainPolicy密碼複雜度
熱門文章
[Bonus系列]-使用useCallback&useMemo的正確時機是什麼?
【教學】簡單救回電腦資料
為了轉生而點技能-JavaScript,day23(Promise介紹
12.MYSQL淺談NULL
數位簽章(digitalsignature)
D9.學習基礎C、C++語言
什麼是功能分解?
.NetCoreWebApi_筆記17_api結合ADO.NET資料庫操作part5_新聞文章新增_新聞類別元素透過API綁定方式
【徵才/台北信義區】美商全職駐點MIS工程師
7.MYSQL表格程式語法
一週點數排行
更多點數排行
海綿寶寶(antijava)
居然解出來了(partyyaya)
㊣浩瀚星空㊣(yoching)
小山丘(a243318490)
raytracy(raytracy)
ccenjor(ccenjor)
純真的人(jer5173)
PPTaiwan(Pochengtaiwan)
Gary(mosbbs)
souda(souda)
×
At
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{result.label}}
{{result.account}}
關閉
延伸文章資訊
- 1四大語系 - 中文百科知識
世界語言主要分為以下四大語系分別是印歐語系、漢藏語系、非太語系、人造國際語系。基本內容一. 印歐語系印歐語系是最大的語系,下分日耳曼、拉丁、斯拉夫、波羅的海 ...
- 2各國語系在PTT/Dcard完整相關資訊 - 健康急診室
提供各國語系相關PTT/Dcard文章,想要了解更多各國語系、中文語系英文、zh-tw語言有關健康/醫療文章或書籍,歡迎來健康急診室提供您完整相關訊息.
- 3各國語言(語系)代碼表(zh-tw, zh-cn,en-us...) json 格式[繁中/簡 ...
各國語言(語系)代碼表(zh-tw, zh-cn,. 各國語言(語系)代碼表json格式內容製作多國語系時,可以參考包括三種語系: (1)繁體版(2)簡體版(3)英文版本 ...
- 4語系列表- 維基百科,自由的百科全書
- 5教育部轉知之西語系各國駐臺使館及辦事處組成之「臺灣西語 ...
教育部轉知之西語系各國駐臺使館及辦事處組成之「臺灣西語推廣小組」主辦第二屆「西語日」. 文.pdf 53.9KByte 下載附件 · 附件1.pdf 2.1MByte