nginx - 关于nginx位置优先级的困惑
问题描述
例子:
location /images/a/ {
return 200;
}
location ~ \/images\/a\/test\.png$ {
return 502;
}
location ^~ /images/{
return 501;
}
我的困惑是当我访问http://website.com/images/a/test.png时,响应代码是 502 而不是 501
解决方案
无论列出的顺序如何,nginx 首先搜索由文字字符串给出的最具体的前缀位置。
所以选择的前缀位置是location /images/a/
. 由于此位置未使用^~
修饰符标记,因此正则表达式位置随后按顺序处理,直到找到匹配项。
推荐阅读
- neo4j - 在 Neo4j 中 FOREACH 之后返回关系详细信息
- mongodb - 我想将 mongologs 记录到 mongodb
- windbg - 如何在 WinDbg 中配置“脚本”搜索路径?
- excel - 检索日期与昨天过去 7 天匹配的行
- c++ - Qt 连接:使用 Lambda 表达式重置传递的 int 变量(奇怪)
- php - 致命错误:未捕获的 PDOException:SQLSTATE[HY093]:无效参数号:混合命名参数和位置参数
- ms-access-2007 - MS Access:Access 2016 应用程序能否与 Access 2007 一起使用?
- c# - 每次有用户输入时,如何增加我的数组大小以增加?
- reactjs - 如何在作为数据库的 firebase 和 firestore 之间动态切换并相应地调度 redux 操作
- java - 使用 Futures 并行运行多个调用生成对象