nginx实现多语言跳转不同的url
nginx实现多语言跳转不同的url
server {
listen 80;
server_name www.text.com;
location / {
if ($http_accept_language ~* ^zh) {
set $lang zh_CN;
rewrite (.*) https://www.baidu.com$1 permanent;
break;
}
if ($http_accept_language ~* ^ko) {
set $lang ko_KR;
rewrite (.*) https://www.aliyun.com$1 permanent;
break;
}
if ($http_accept_language ~* ^en) {
set $lang en_US;
rewrite (.*) https://www.google.com$1 permanent;
break;
}
}
}
测试
curl -I http://www.text.com -H "Accept-Language:ko"
curl -I http://www.text.com -H "Accept-Language:zh"
curl -I http://www.text.com -H "Accept-Language:en"
$ curl -I http://www.text.com -H "Accept-Language:zh"
HTTP/1.1 301 Moved Permanently
Server: WPWS/1.0.0
Date: Wed, 06 Mar 2019 06:13:29 GMT
Content-Type: text/html
Content-Length: 281
Connection: keep-alive
Location: https://www.baidu.com/
Expires: Sat, 16 Mar 2019 06:13:29 GMT
Cache-Control: max-age=864000
$ curl -I http://www.text.com -H "Accept-Language:ko"
HTTP/1.1 301 Moved Permanently
Server: WPWS/1.0.0
Date: Wed, 06 Mar 2019 06:14:05 GMT
Content-Type: text/html
Content-Length: 281
Connection: keep-alive
Location: https://www.aliyun.com/
Expires: Sat, 16 Mar 2019 06:14:05 GMT
Cache-Control: max-age=864000
$ curl -I http://www.text.com -H "Accept-Language:en"
HTTP/1.1 301 Moved Permanently
Server: WPWS/1.0.0
Date: Wed, 06 Mar 2019 06:20:56 GMT
Content-Type: text/html
Content-Length: 281
Connection: keep-alive
Location: https://www.google.com/
Expires: Sat, 16 Mar 2019 06:20:56 GMT
Cache-Control: max-age=864000
nginx实现多语言跳转不同的url的更多相关文章
- nginx配置http强制跳转https
nginx配置http强制跳转https 网站添加了https证书后,当http方式访问网站时就会报404错误,所以需要做http到https的强制跳转设置. 一.采用nginx的rewrite方法 ...
- NGINX比Apache的性能高是因为NGINX由C语言开发,而Apache由C++开发
事实上,NGINX比Apache的性能高是因为NGINX由C语言开发,而Apache由C++开发.因此,NGINX效率大概是Apache的10倍左右
- Nginx 配置 http 强制跳转到 https
个人真实配置 架构:Nginx 反向代理 + Nginx 前端(LNMP) 在 Nginx 反向代理的 虚拟机主机配置文件中,作如下配置: upstream ilexa_cn { server 192 ...
- Nginx隐藏式跳转(浏览器URL跳转后保持不变) - 运维笔记
Nginx的隐藏式跳转可以实现将请求跳转到另一个网站的页面,并且浏览器中URL保持不变.Nginx配置中需要使用rewrite规则.下面提供两个示例来说明这种跳转需求的配置: 一.配置示例1将请求路径 ...
- 域名解析中的cname解析和显性URL跳转和隐性URL跳转三者有什么区别
通俗的来讲,cname解析还是属于dns解析,只是把某个域名解析到另外一个域名对应的某个IP的空间中,所以还需要在服务器端(比如nginx)做域名解析(比如把baidu.com做一个cname解析到i ...
- 用Java和Nodejs获取http30X跳转后的url
用Java和Nodejs获取http30X跳转后的url 转 https://calfgz.github.io/blog/2018/05/http-redirect-java-node.html 30 ...
- 获取经过跳转后的url地址
粗略一算,不写code已经好几个月了. 昨日受兄弟所托,为他写了一个小小的程序. 程序功能: 自动获取跳转后的Url地址 如下图所示: (newUrl.txt为转换后的地址信息...) 实现过程: 每 ...
- 【转】js onclick用法:跳转到指定URL
使用onclick跳转到其他页面/跳转到指定url ☆如果是本页显示可以直接用location,方法如下: ①onclick="javascript:window.location.hr ...
- webview缓存及跳转时截取url地址、监听页面变化
缓存及一些设定 我在做一些项目时,h5做的项目手机浏览器能使用,但是在搬到webview时候不能用,这个时候通过查阅资料,原来是webview没有设定好,包括缓存.缓存大小及路径等等 mWebview ...
随机推荐
- Error creating bean with name 'as' defined in class path resource
(1)一个是setter方法的名字和配置文件对应名字有问题 (2)导入的包不对,搭建环境出错.
- Linux学习系列——零基础开始
第一部分 Linux基础命令 1.查看系统信息命令 2.Linux内核版本 3.修改环境变量
- java.awt.Graphics2D 图片缩放
关键字:java image thumbnail google 粗略demo: import java.awt.Graphics2D; import java.awt.GraphicsConfig ...
- Using Lucene's new QueryParser framework in Solr
Sometime back, I described how I built (among other things) a custom Solr QParser plugin to handle P ...
- day 21 01 序列化模块和模块的导入的复习以及包的初识
day 21 01 序列化和模块的导入的复习以及包的初识 1.序列化模块 什么是序列化模块:数据类型转化成字符串的过程就是序列卷 为什么要使用序列化模块:为了方便存储和网络传输 三种序列化模块: (1 ...
- [LeetCode 题解]: Minimum Depth of Binary Tree
Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...
- HBase介绍 (1)---数据模型
http://blog.csdn.net/heyutao007/article/details/5766896 BigTable是什么?Google的Paper对其作了充分的说明.字面上看就是一张大表 ...
- 如何轻松学习C语言编程!
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...
- 【RabbitMQ学习记录】- 消息队列存储机制源码分析
本文来自 网易云社区 . RabbitMQ在金融系统,OpenStack内部组件通信和通信领域应用广泛,它部署简单,管理界面内容丰富使用十分方便.笔者最近在研究RabbitMQ部署运维和代码架构,本篇 ...
- NGrinder操作指南
一.使用nGrinder谷歌插件录制性能测试脚本: 1.下载录制插件压缩包ngrinder-recorder-1.0.7z,解压到本地目录. 2.打开Chrome浏览器,URL框内输入chrome:/ ...