【发布时间】:2012-09-24 02:21:28
【问题描述】:
我想知道如何知道某个特定位置是否用于处理nginx 中的请求。
例如:
# 1
location / {}
# 2
location ~ /[\w\-]+\.html {}
# 3
location ~ /\w+\.html {}
我如何知道像 /mysite 这样的 URI 是否由第三个位置而不是第二个位置处理?
对于这件事,我倾向于使用add_header:
location / {
add_header location 1;
}
location ~ /(\w+\-)\.html {
add_header location 2;
}
location @named {
add_header location named;
}
我想知道有没有更好的解决方案,或者您个人使用什么来进行调试?
【问题讨论】:
-
这只会在您的 HTTP 响应代码为 200、204、301、302 或 304 时添加标头。因此它不会帮助您跟踪 404:/
-
对于后来的人:在 1.7.5 之后的 nginx 版本中(在 Air 发表评论后几个月发布),您可以向
add_header添加一个always参数,这将指示 nginx无论状态码如何,始终添加它。