nginx uri重写

来源:互联网 发布:中科恒业医学软件 编辑:程序博客网 时间:2024/06/01 20:21

在工作使用nginx时,有时会需要对访问的uri进行重新编写,

      如访问以下地址:

      http://www.test.com/api/ccket/v1/queryShows.json?channelCode=0003&cinemaCode=1000019&status=1&sign=00003

    需要得到:

     http://www.test.com/api/ccket/v1/queryShows/0003/1000019/2015-11-22_all1.json?


     这也是为了静态存放,不用动态去生成,



location中去配置:

   if ( $time_iso8601 ~ "([0-9]+)-([0-9]+)-([0-9]+)T([^~]+)" ) {
      set $aa "$1-$2-$3";
    }  
   if ( $request_uri ~ "^/api/([^~]+)" ){
      set $all '_all';
      set $json '.json?';
      rewrite ^/([^~]+)/([^~]+)/([^~]+)/(.*)?([^~]+)$ /$1/$2/$3/queryShows/$arg_channelCode/$arg_cinemaCode/$arg_startDate$all$arg_status$json? permanent;   }


  其它需求写法类似

0 0