중국어 간체 및 번체 판단
http 헤더의 허용 언어를 기준으로 중국어 간체 파일을 제공할지, 중국어 번체 파일을 제공할지 결정하고 싶습니다. Chrome에서는 chrome://settings/언어s 기본 언어를 설정할 수 있으며 브라우저는 그에 따라 허용 언어 헤더를 설정합니다. 이를 처리하는 더 좋은 방법은 필드를 구문 분석하고 qvalue를 얻은 다음 우선 순위에 따라 가장 적절한 언어를 선택하는 것입니다. 그러나 이는 중국어 간체 및 번체를 지원하는 데만 사용됩니다. zh-hant, zh-tw, zh-hk 등의 단어가 accept-언어로 나타나는 한 다음으로 돌아가십시오. 중국어 번체, 그렇지 않으면 중국어 간체로 돌아갑니다.
map $http_accept_language $lang { default zhs; ~zh-hant zht; ~zh-tw zht; ~zh-hk zht; }
hexo를 사용하여 웹사이트를 생성하고 소스 파일은 중국어 번체로 작성되었습니다. hexo generate로 생성된 2015-10-06-nginx-accept-언어-zhs-zht.html의 경우 opencc를 사용하여 단순화된 버전인 2015-10-06-nginx-accept-언어-zhs-zht로 변환합니다. html.zhs.html. 상황에 따라 "가장 많이 읽은 기사" 기능을 제공하는atom.xml 및 Popular.json과 같은 일부 다른 파일을 변환해야 합니다.
# 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
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; } # 其他需要简繁体支持的路由
http 요청 헤더의 허용 언어에 따라 다른 페이지로 전달:
코드로 직접 이동
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; }
테스트:
http: //www.findmaven.net은 findjar 및 findmaven을 위한 검색 엔진입니다
브라우저 설정(영어)
Return
브라우저 설정(중국어)
반품
위 내용은 다양한 브라우저 언어에 따라 Nginx 페이지 점프를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!