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. ...
随机推荐
- 强化学习(八):Eligibility Trace
Eligibility Traces Eligibility Traces是强化学习中很基本很重要的一个概念.几乎所有的TD算法可以结合eligibility traces获得更一般化的算法,并且通常 ...
- rsyslog及loganalyzer
日志:历史日志 历史事件: 时间记录,事件的关键性程度,loglevel 系统日志服务: syslogd,守护进程 syslogd:system klogd:kernel rsyslog: sys ...
- 转:为什么根据IP地址查询物理所在地,而不是mac地址?
来自 https://mp.weixin.qq.com/s/aOZQGMnMI2nkX4-qcJL4WQ 读者 不是说mac地址是计算机网卡唯一的地址吗?这样不是可以直接定位到某一台机器吗?为什么要用 ...
- java多线程之堵塞的应用
线程在Running的过程中可能会遇到阻塞情况,上次的内容我们已经使用过sleep()的方法. 调用join()和sleep()方法,sleep()时间结束或被打断,join()中断,IO完成都会回到 ...
- mysql语句将日期转换为时间戳的方法
mysql将日期转换为时间戳更新数据库: update test set creattime=UNIX_TIMESTAMP('2018-04-19') 替换字段为当前日期: update test s ...
- 关于SASS
SASS:(是一款辅助编写css的工具 安装之后可以通过同时按window键+“R”键 输入“powershell”进入CMD命令页面: 输入“sass -v”可以查看当前的sass版本 输入“cd ...
- 简单的新手加法运算(基于Struts2)
软件151 王帅 在搭好框架的前提下,首先编写action.java文件: import com.opensymphony.xwork2.ActionSupport; public class Us ...
- JS之代理模式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Tomcat基本配置
第二十六课 Tomcat基本配置 目录 一. Tomcat介绍 二. 安装jdk 三. 安装Tomcat 四. 配置Tomcat监听80端口 五. 配置Tomcat虚拟主机 六. Tomcat日志 七 ...
- c++学习过程
作者本人也是一名初学者,我的QQ:2522929921,可以一起交流啊! 希望广大初学者能够一起进步: 1.掌握编程思维真的很重要!!!!***. 2.不能刻意记忆语法规则. 3.在循序渐进的项目实战 ...