在 Nginx 中,location 指令用于定义请求的匹配规则。location /test 和 location /test/ 之间的主要区别在于它们对请求 URI 的匹配方式。
location /test:- 这个匹配规则会匹配所有以
/test开头的请求,包括:/test/test//test/some/path/test?query=string
- 这个匹配规则会匹配所有以
location /test/:- 这个匹配规则只会匹配以
/test/开头的请求,不包括没有斜杠结尾的请求。例如:- 匹配:
- `/test/` - `/test/some/path` - `/test/?query=string` - 不匹配:
- `/test`
- 匹配:
- 这个匹配规则只会匹配以
总结
location /test是一个前缀匹配,会处理任何以/test开头的路径。location /test/是一个精确匹配(也可以视为更严格),只会处理以/test/开头的路径,并且要求后面有一个斜杠。
这两种配置常用在反向代理、负载均衡和静态文件服务等场景中,选择哪一种取决于你希望如何处理不同类型的 URI 请求。
内容由零声教学AI助手提供,问题来源于学员提问




