注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

永福的技术博客

Linux运维

 
 
 

日志

 
 

【nginx】url及带参数的相关配置  

2014-03-06 19:41:28|  分类: 软件编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

    1. nginx中与url相关的变量
    $request_uri
    这个变量等于从客户端发送来的原生请求URI,包括参数。它不可以进行修改。$uri变量反映的是重写后/改变的URI。不包括主机名。例如:"/foo/bar.php?arg=baz"

    $uri
    这个变量指当前的请求URI,不包括任何参数(见$args)。这个变量反映任何内部重定向或index模块所做的修改。注意,这和$request_uri不同,因$request_uri是浏览器发起的不做任何修改的原生URI。不包括协议及主机名。例如:"/foo/bar.html"

    $document_uri
    同$uri.

    2. nginx 根据url参数做跳转
    set $api_new '';
    if ( $query_string ~* ^arg_a=([0-9]) ) {
         set $api_new $1;
    }
    if ($api_new != '') {
        rewrite ^ /new_index.php last;
    }

    3 url参数在重写时的传递
    3.1  rewrite后不带任何原参数
    如原url为 : http://www.example.com/test.php?a=yongfu&b=test
    跳转后为 : http://www.example.com/new_index.php
    rewrite规则为 : rewrite ^ /new_index.php? last;
    要点:在rewrite后的地址中添加一个问号 “?”

    3.2  rewrite后保留原有参数
    如原url为 : http://www.example.com/test.php?a=yongfu&b=test
    跳转后为 : http://www.example.com/new_index.php?a=yongfu&b=test
    rewrite规则为 : rewrite ^ /new_index.php last;
    要点: 只需写出rewrite后的地址,不必特意列出参数

    3.3  rewrite后新增参数
    如原url为 : http://www.example.com/test.php?a=yongfu&b=test
    跳转后为 : http://www.example.com/new_index.php?a=yongfu&b=test&c=new
    rewrite规则为 : rewrite ^ /new_index.php?c=new last;
    要点:写出rewrite后的地址并添加新增的参数就可以  

    3.4  rewrite后只保留部分参数
    如原url为 : http://www.example.com/test.php?a=yongfu&b=test
    跳转后为 : http://www.example.com/new_index.php?a=yongfu
    rewrite规则为 : rewrite ^ /new_index.php?c=$arg_a? last;
    要点:保留某个特定的参数,可以利用Nginx自带的$arg_PARAMETER参数自行补充来实现
  评论这张
 
阅读(542)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018