Bagaimana untuk mengkonfigurasi lompat halaman Nginx mengikut bahasa pelayar yang berbeza

王林
Lepaskan: 2023-05-13 13:37:11
ke hadapan
1128 orang telah melayarinya

Hakim antara Cina ringkas dan tradisional

Saya ingin memutuskan sama ada untuk menyediakan fail Cina ringkas atau tradisional berdasarkan bahasa terima dalam pengepala http. Dalam chrome, chrome://settings/languages ​​​​boleh menetapkan bahasa pilihan, dan penyemak imbas akan menetapkan pengepala bahasa terima dengan sewajarnya. Cara yang lebih baik untuk mengendalikannya ialah dengan menghuraikan medan, mendapatkan nilai q dan memilih bahasa yang paling sesuai berdasarkan keutamaan. Tetapi ia hanya digunakan untuk menyokong Cina Mudah dan Tradisional Saya ingin menggunakan helah: abaikan keutamaan selagi perkataan zh-hant, zh-tw, zh-hk dan sebagainya muncul dalam bahasa terima, kembali ke. Cina Tradisional, sebaliknya kembali kepada Cina Ringkas.

map $http_accept_language $lang {
 default zhs;
 ~zh-hant zht;
 ~zh-tw zht;
 ~zh-hk zht;
}
Salin selepas log masuk

Saya menggunakan hexo untuk menjana tapak web, dan fail sumber ditulis dalam bahasa Cina tradisional. Untuk 2015-10-06-nginx-accept-language-zhs-zht.html yang dijana oleh hexo generate, gunakan opencc untuk menukarnya kepada versi yang dipermudahkan: 2015-10-06-nginx-accept-language-zhs-zht. html.zhs .html. Bergantung pada keadaan, beberapa fail lain perlu ditukar, seperti atom.xml dan popular.json yang menyediakan fungsi "artikel paling banyak dibaca".

# zsh
cd ~/maskray.me/public
opencc -c t2s.json -i atom.xml -o atom.xml.zhs.xml
for i in **/*.html 20*; do # 选择需要简繁体支持的文件
 c=${#${(s/.html/%)i}//[^%]/} # 计算子串`.html`出现次数
 if (( $c <= 1 )); then   # 出现一次的为原始文件,需要转换成简体
 opencc -c t2s.json -i $i -o $i.zhs.html
 fi
done
Salin selepas log masuk

Nyatakan laluan yang memerlukan sokongan ringkas dan tradisional dalam fail konfigurasi nginx:

location ~ ^/blog/20?? {
 try_files $uri.$lang.html $uri =404;
 add_header vary accept-language;
}

location ~ /atom.xml {
 try_files $uri.$lang.xml $uri =404;
 add_header vary accept-language;
}

location ~ \.json$ {
 try_files $uri.$lang.json $uri =404;
 add_header vary accept-language;
}

# 其他需要简繁体支持的路由
Salin selepas log masuk


Majukan ke halaman berbeza berdasarkan bahasa terima dalam pengepala permintaan http:
Pergi terus ke kod

if ($http_accept_language ~* ^zh){
    set $lang "/index_cn.jsp";
}
if ($http_accept_language !~* ^zh){
    set $lang "/index_en.jsp";
}
 
location =/ {
    proxy_set_header host $host;
    proxy_set_header x-real-ip $remote_addr;
    proxy_set_header x-forwarded-for $remote_addr;
    proxy_pass http://localhost:8080$lang;
}
Salin selepas log masuk

Ujian:
http://www.findmaven.net ialah enjin carian untuk findjar dan findmaven
Tetapan penyemak imbas (Bahasa Inggeris )

Bagaimana untuk mengkonfigurasi lompat halaman Nginx mengikut bahasa pelayar yang berbeza

Bagaimana untuk mengkonfigurasi lompat halaman Nginx mengikut bahasa pelayar yang berbeza

Kembali ke

Bagaimana untuk mengkonfigurasi lompat halaman Nginx mengikut bahasa pelayar yang berbeza

Tetapan Pelayar (Bahasa Cina)

Bagaimana untuk mengkonfigurasi lompat halaman Nginx mengikut bahasa pelayar yang berbeza

Kembali

Bagaimana untuk mengkonfigurasi lompat halaman Nginx mengikut bahasa pelayar yang berbeza

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi lompat halaman Nginx mengikut bahasa pelayar yang berbeza. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan