Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk mengkonfigurasi lompat halaman Nginx mengikut bahasa pelayar yang berbeza

Bagaimana untuk mengkonfigurasi lompat halaman Nginx mengikut bahasa pelayar yang berbeza

王林
王林ke hadapan
2023-05-13 13:37:111132semak imbas

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;
}

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

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;
}

# 其他需要简繁体支持的路由


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;
}

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam