location 和 $request_uri 之间的区别

location 和 $request_uri 之间的区别

这有什么区别?

location ~ /path/ {
  set $skip_cache 1;
}

if ($request_uri ~* "(/path/)") {
  set $skip_cache 1;
}

在我的实验中,我注意到第一个包含所有子路径,而另一个仅包含路径

答案1

你说得对!主要区别在于,第一个方法只查找以您指定的参数开头/结尾的内容,而第二个方法返回您访问过的页面的完整路径,包括您在 URL 中传递的所有参数(“?”和“&”)。

欲了解更多信息,您可以阅读这两篇我觉得很有趣的文章:

相关内容