在工作使用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; }
其它需求写法类似