参考这篇官方说明就足够了
http://nginx.org/en/docs/http/ngx_http_rewrite_module.html
我们在nginx中使用的if return set break 都是rewrite模块中的内容,nginx使用PCRE正则表达式
一个实用的例子是:
location /img {
root /data/images;
if ( !-e $request_filename) {
rewrite ^/img(.*)$ /img$1 break;
proxy_pass http://www.baidu.com;
}
}
例子中$1表示正则表达式第一个匹配到的内容 也就是 (.*)这个所代表的内容。
比如我们请求的地址是 http://www.yourdomain.com/img/bd_logo1.png 那么如果nginx在data/images文件夹里没有找到这个文件或者没有这个文件夹,那么就去拿http://www.baidu.com/img/bd_logo1.png并返回。