有urlnginx
http:
//192.168.0.1:9988/app/file_view?id=df0de9d8-8a0b-11e1-9ddb-0026b93f2307
&token=TASIpYr6mj2-h78JEQ5ymg&expire=1334834398
想rewrite成app
http:
//192.168.0.1:8899/app/file_view?id=df0de9d8-8a0b-11e1-9ddb-0026b93f2307
也就是去掉token和expire參數
方法:
rewrite不涉及query string,只是uri,因此:ide
proxy_pass http:
//192.168.0.1:8899;rewrite ^(.+)&token=.* $1
break;
結果仍是有token和expire參數。
採用if,改變$args變量,從新拼接urlurl
set $varnish_host http:
//192.168.0.1:8899;
if( $args ~ ^(.+)(&token=.+)$ ) { set $args $1; rewrite ^ $varnish_host$uri
break; }
參考:http://wiki.nginx.org/HttpCoreModule#.24argsspa