复制
收藏
提问
简洁
、现在有一个nginx主机配置有如下若干个location,并且主机名为www.abc.com,请依次写出响应结果为A-I的请求URL。 location = / { return 200 "A"; } location / { return 200 "B"; } location /documents { return 200 "C"; } location ~ /documents/ABC { return 200 "D"; } location ^~ /images/ { return 200 "E"; } location ~* \.(gif|jpg|jpeg)$ { return 200 "F"; } location /images/ { return 200 "G"; } location /images/abc { return 200 "H"; } location ~ /images/abc/ { return 200 "I"; } A: B: C: D: E: F: G: H: I:
2个月前
全网
文档
学术
百科
知识库
回答简洁模式
深入研究一些
根据 Nginx 的 location 匹配规则,我们可以依次确定每个请求 URL 的响应结果:
A: 请求 URL 为 /
,精确匹配 location = /
,响应结果为 "A"。
B: 请求 URL 为 /
以外的任何路径,由于 location /
匹配所有以 /
开头的请求,响应结果为 "B"。
C: 请求 URL 为 /documents
,精确匹配 location /documents
,响应结果为 "C"。
D: 请求 URL 为 /documents/ABC
或以 /documents/ABC
开头的路径,正则匹配 location ~ /documents/ABC
,响应结果为 "D"。
E: 请求 URL 为 /images/
开头的路径,但不是以 .jpg
、.jpeg
或 .gif
结尾的文件,优先级匹配 location ^~ /images/
,响应结果为 "E"。
F: 请求 URL 为以 .gif
、.jpg
或 .jpeg
结尾的文件,正则匹配 location ~* \.(gif|jpg|jpeg)$
,响应结果为 "F"。
G: 请求 URL 为 /images/
下的任何路径,但排除了 /images/abc
和以图片格式结尾的文件,匹配 location /images/
,响应结果为 "G"。
H: 请求 URL 为 /images/abc
,精确匹配 location /images/abc
,响应结果为 "H"。
I: 请求 URL 为 /images/abc/
或以 /images/abc/
开头的路径,正则匹配 location ~ /images/abc/
,响应结果为 "I"。
以下是具体的请求 URL 和响应结果:
你觉得结果怎么样?