距离上一次更新该文章已经过了 687 天,文章所描述的內容可能已经发生变化,请留意。
例子:如果url符合正则格式并且$temp_flag正则匹配11111,则代理到bbb,否则代理到aaa
nginx
1 | set $proxy_path aaa; |
uri和request_uri的区别
request_uri: 这个变量等于从客户端发送来的原始请求URI(最原始的),包括参数,它不可以进行修改。$uri变量反映的是重写后/改变的URI(最终的),不包括主机名。例如:"/foo/bar.php?arg=baz"
uri: 这个变量指当前的请求URI,不包括任何参数(见$args)。这个变量反映任何内部重定向或index模块所做的修改。注意,这和$request_uri不同,因$request_uri是浏览器发起的不做任何修改的原生URI。不包括协议及主机名。例如:"/foo/bar.html"
举例说明
案例1:
访问:http://127.0.0.1/test/
$uri:/test/test.html
$request_uri:/test/
案例2:
访问:http://127.0.0.1/
$uri:/index.html
$request_uri:/
案例3(服务器上不存在res目录):
访问:http://127.0.0.1/res
$uri:/res
$request_uri:/res
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小五的个人杂货铺!