nginx配置文件中$request_uri到底是指的url里哪部分

原文地址:https://yq.aliyun.com/articles/556175


摘要: 我经过反复测试,结合在log里添加$request_uri变量,得出结论,这个$request_uri就是完整url中刨去最前面$host剩下的部分,比如http://www.baidu.com/pan/beta/test1?fid=3这个url,去掉www.baidu.com剩下的就是了,日志里会看到打印出来的$request_uri其实是/pan/beta/test1?fid=3。

我经过反复测试,结合在log里添加$request_uri变量,得出结论,这个$request_uri就是完整url中刨去最前面$host剩下的部分,比如http://www.baidu.com/pan/beta/test1?fid=3这个url,去掉www.baidu.com剩下的就是了,日志里会看到打印出来的$request_uri其实是/pan/beta/test1?fid=3。如果只访问www.baidu.com,$request_uri里也会有个/的。



if ($request_uri ~* "^/$") 表示url中只有域名,后面不跟任何东西,比如www.baidu.com。

if ($request_uri ~* "test") 表示域名后面那串儿只要包含test这个关键词,就可匹配成功。比如www.baidu.com/pan/beta/test3


你可能感兴趣的:(nginx)