关于 Nginx 配置的一些疑惑, Nginx 根据cookie 进行rewrite
网站目录结构如下:
/public/en.html
/public/zh_cn.html
/public/index.php
之前所有的非静态资源请求都交给 index.php
现在要把首页的请求 不走PHP了,提高下网站性能。Nginx会根据cookie值 lang=en 直接返回en.html 根据 lang=zh_cn 直接返回 zh_cn.html。如果没有cookie的话,默认返回 zh_cn.html.
首页请求地址有3个,分别为:
/
/index
/index/index
求Nginx 配置。
现在的Ngxin配置如下:
location / {
index index.php;
if ($http_cookie ~* "lang=en"){
rewrite ^/$ /en.html;
rewrite /index /en.html;
rewrite /index/index /en.html;
}
if ($http_cookie ~* "lang=zh_cn"){
rewrite ^/$ /zh_cn.html;
rewrite /index /zh_cn.html;
rewrite /index/index /zh_cn.html;
}
root /www/wwwroot/public;
try_files $uri $uri/ /index.php?q=$uri&$args;
}
但是不好使啊,网上说 location里,if 和 try_files同时使用会有问题,http://wiki.nginx.org/IfIsEvil
搞了一天了,还是没整好,好郁闷。感觉到了瓶颈了。
https://www.oschina.net/question/186778_226741
关于 Nginx 配置的一些疑惑, Nginx 根据cookie 进行rewrite的更多相关文章
- Nginx配置SSL报错 nginx: [emerg] unknown directive "ssl"
Nginx配置SSL报错 nginx: [emerg] unknown directive "ssl" 出现如图所示错误,处理办法如下 去nginx解压目录下执行 ./co ...
- nginx配置ssl双向验证 nginx https ssl证书配置
1.安装nginx 参考<nginx安装>:http://www.ttlsa.com/nginx/nginx-install-on-linux/ 如果你想在单IP/服务器上配置多个http ...
- 通过http、https域名访问静态网页、nginx配置负载均衡(nginx配置)
很多场景下需要可以通过浏览器访问静态网页,不想把服务器ip地址直接暴露出来,通过nginx可以解决这个问题. 实现http域名访问静态网页 1.域名解析配置(本文都是以阿里云为例,其他平台,操作步骤类 ...
- nginx配置1:借助Nginx搭建反向代理服务器与缓存静态文件
修改配置文件nginx.conf (1)进程数与每个进程的最大连接数: •nginx进程数,建议设置为等于CPU总核心数 •单个进程最大连接数,那么该服务器的最大连接数=连接数*进程数 (2)Ngin ...
- Nginx 配置日志路径(nginx.conf没有写log路径,所以debug的时候找不到日志)
缘由:nginx.conf没有写log路径,所以debug的时候找不到日志,遂在conf文件里写入了log路径 Setp1.nginx默认日志路径: /var/log/nginx Setp2.conf ...
- nginx配置tomcat负载均衡,nginx.conf配置文件的配置
- Nginx配置(需要把nginx的根目录指向ftp上传文件的目录。)
改成
- nginx配置入门
谢谢作者的分享精神,原文地址:http://www.nginx.cn/591.html nginx配置入门 之前的nginx配置是对nginx配置文件的具体含义进行讲解,不过对于nginx的新手可能一 ...
- nginx配置学习文章
partOne 自我释义部分 我的是阿里云的ubuntu *******实际上感觉这里是基本配置,很用不到*********#定义其用户或用户组user www-data;#nginx的进程数,应当为 ...
随机推荐
- idea 跳转提示多个实现类
- 关于mysql的null相关查询的一些坑
我们先看一下效果,然后在解释,示例如下: mysql> create table test5 (a int not null,b int,c varchar(10)); Query OK, 0 ...
- K8S学习笔记之K8S日志搜集实战
详细参考这篇文章,几乎覆盖了了K8S的各种日志搜集方案 https://juejin.im/post/5b6eaef96fb9a04fa25a0d37#heading-8
- scratch学习研究心得_逐步更新
2019-10-30: Scratch对对象a克隆,不能选择克隆自己,这样可能下次一下子同时产生两个克隆体,要设置克隆a scratch3.0采用全新html5技术,图片和其他对象放大缩小,效果几乎不 ...
- dubbo循序渐进 - Jenkins自动化部署
最新版安装docker pull jenkinsci/jenkins sudo chown -R 1000:1000 ~/jenkins docker run -d -p : -m 1024m -v ...
- Matlab桥接模式
桥接模式(Bridge)是一种结构型设计模式.它是用组合关系代替继承关系来实现,可以处理多维度变化的场景(https://blog.csdn.net/qq_31156277/article/detai ...
- Vue事件修饰符,.capture关键字详解
.prevent 用于阻止默认事件,点击a标签href可以打开相应的链接,那么给事件加 上此关键字,click.prevent .capture 冒泡顺序 例如 div1中嵌套div2中嵌 ...
- docker下安装redis集群
docker-compose.yml master: image: redis:4 container_name: redis-cluster_master command: redis-server ...
- android中fragment卡顿的原因
首页的ViewPager有十几个Fragment,在快速切换的时候,容易产生卡顿现象. 二.分析当ViewPager切换到当前的Fragment时,Fragment会加载布局并显示内容,如果用户这时快 ...
- linux网桥配置brctl
思路 将虚拟出一个bridge口,将对应的LAN都绑定在这个虚拟bridge口上,并给这个bridge口分配一个地址,其他子网微机配置网关为bridge口的地址便可以了 # brctl addbr b ...