nginx 带? rewrite 规则
由于需要重定向 url ,nginx需要rewrite 。参考文献 http://huangqiqing123.iteye.com/blog/2083434
需求:将
http://10.106.1.30/uc/api/http.do?method=getLoginTicket&user_id=***&password=***
重写成
http://10.106.1.30/uc/?m=member&c=http&a=getLoginTicket&user_id=***&password=***
一般很自然想到的写法如下:
rewrite "^/uc/api/http.do?method=getLoginTicket&user_id=(.*)&password=(.*)$" /uc/?m=member&c=http&a=getLoginTicket&user_id=$1&password=$2 break;
结果总提示404错误。
后经查阅资料得知,rewrite只能针对请求的URL中问号?之前的部分进行重写,问号后面的是请求参数,在nginx用$query_string表示,所以上面的重写,根本就没匹配成功。
正确的写法如下:
在nginx.conf配置文件中,添加如下配置
if ( $query_string ~ "method=getLoginTicket(.*)" ){
rewrite "^/uc/api/http.do$" /uc/?m=member&c=http&a=getLoginTicket&$query_string break;
}
下面是我自己的===========================================
http://www.abc.com/showContent?lpId=1
rewrite 成下面
http://www.abc.com/api.php?uri=/jumpConfig/showContent&lpId=1
#$query_string 匹配? 后面的字段 并将()里匹配的内容 赋予给$query_string.
location / {
if ( $query_string ~ "lpId=(.*)"){
rewrite "^/showContent$" /api.php?uri=/jumpConfig/showContent&lpId=$query_string last;
}
try_files $uri $uri/ /index.php?$args;
}
nginx 带? rewrite 规则的更多相关文章
- Nginx的Rewrite规则与实例
通过Rewrite规则可以实现规范的URL.根据变量来做URL转向及选择配置,用好Rewrite有时起到事半功倍的效果. 语法 Nginx的Rewrite相比Apache的要好理解很多,主要使用指令有 ...
- Apache和Nginx的Rewrite规则对比
一.Apache的rewrite 1.Rewrite规则简介: Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言.可基于服务器级的(httpd.conf)和目录级的(.h ...
- Nginx 设置rewrite规则是遇到的一个{}大括号引发的报错问题
一个群友提到: 用nginx image_filter模块裁图,用!拼宽高能够实现,现在想用参数传宽高总是报错,配置如下: location ~ ^/images/.* { if ( $q ...
- Nginx之Rewrite规则
IF语句: http://tengine.taobao.org/nginx_docs/cn/docs/http/ngx_http_rewrite_module.html#if 首先申明nginx只有i ...
- Nginx 之 Rewrite 规则
write 规则介绍 Rewite 规则作用 Rewrite规则可以实现对url的重写,以及重定向 作用场景: URL访问跳转,支持开发设计,如页面跳转,兼容性支持,展示效果等 SEO优化 维护:后台 ...
- nginx 重定向 rewrite 规则
1.rewrite配置 server { listen 80 default_server; server_name jeson.t.imooc.io; access_log /var/log/ngi ...
- 修改Nginx 伪静态Rewrite规则 安装Chevereto
Chevereto 是目前最为强大的 PHP 图床系统,通过它可部署多用户公开或私有的图片存储服务,现在 Chevereto 出了免费的版本,小伙伴可以围观一下. https://github.com ...
- nginx的rewrite规则
301跳转: server { listen 80; server_name www.xiaofan.com; return 301 https://$server_name$request_uri; ...
- Nginx配置location总结及rewrite规则写法
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 32.0px "Helvetica Neue"; color: #323333 } p. ...
随机推荐
- Java POJO类直接存储在MongoDB中
记录Java POJO类直接存储在MongoDB中的策略. maven: <dependency> <groupId>org.mongodb</groupId> & ...
- Vue+Element+Select获取选中的对象
案例演示:获取select当前选中的所有内容 <el-select v-model="value8" filterable placeholder=&qu ...
- word中一页中添加两种不同的页码
,在文档编写的过程中,可能一个页面需要编写两个不同的页码,举个例子,在页脚有一个页码是整个文档的页码,页眉有一个页码,是每个章节的页码: 设置如下: 此处选中这个图标是为了能够看到分节符和其他的符号 ...
- 记录下curl的使用方法
curl是一个可以在命令行中直接发起请求的工具,基础用法如下: curl localhost:6767/1.html //返回url对应的页面内容 curl localhost:6767/1.html ...
- linux常用命令 命令管道符
多命令顺序执行 多命令顺序执行 多命令执行符 格式 作用 : 命令1:命令2 多个命令顺序执行,命令之间没有任何逻辑联系 && 命令1&&命令2 逻辑与 当命令1正确执 ...
- v模拟器(华为、H3C)点滴
华为模拟器:eNSP V100R002C00B500 安装问题: 1)环境为WIN10,64位专业版 2)安装完成后可以打开界面,但是新建一个设备后,打不开,一直不停的#号 3)解决:手工点击Virt ...
- 蒙层嵌套pdf以及连接后台
一.在本地浏览pdf(直接将element-dialog 和 iframe相结合)需要将要浏览的pdf放入static文件夹下面 <el-button type="text" ...
- shell 下生成使用UUID
#!/bin/bash psd="/proc/sys/kernel/random/uuid" echo $(cat $psd)UUID=$(cat /proc/sys/kernel ...
- Lumen框架使用Redis与框架Cache压测比较
使用命令 ab -c 20000 -n 100000 'http://127.0.0.1:9050/v1/api.store.xxx'进行压测,并同时进行了交叉测试,结果如下: 高并发情况下数据目前没 ...
- 【转载】Druid 介绍及配置
原文链接:https://www.cnblogs.com/niejunlei/p/5977895.html 1. Druid是什么? Druid是Java语言中最好的数据库连接池.Druid能够提供强 ...