我可以在try\u files nginx指令中使用两个命名位置吗?
我想使用类似于:我可以在try\u files nginx指令中使用两个命名位置吗?,nginx,location,Nginx,Location,我想使用类似于: location @a1 { ... } location @a2 { ... } location /path { try_files @a1 $uri @a2 } 在@a1位置继续使用$uri/@a2进行尝试是否可能?我应该怎么做 如果是这样,nginx将如何处理它?您不能,因为try\u files只将其最后一个参数视为命名位置-在您的示例中,nginx将查找名为@a1的文件并忽略location@a1块 对于这一点,这些参数并不是非常明确,
location @a1 {
...
}
location @a2 {
...
}
location /path {
try_files @a1 $uri @a2
}
在@a1位置继续使用$uri/@a2进行尝试是否可能?我应该怎么做
如果是这样,nginx将如何处理它?您不能,因为try\u files只将其最后一个参数视为命名位置-在您的示例中,nginx将查找名为
@a1
的文件并忽略location@a1
块
对于这一点,这些参数并不是非常明确,只是提到“最后一个参数也可以指向一个命名的位置”
显示了一个使用的变通方法,该方法可能对您很有用(取决于您通过进入@a1
要执行的操作)
.我发现:
此示例的工作原理如下:
try_files $uri @static_svr1 @static_svr2 @static_svr3
可能重复的
try_files $uri @static_svr1 @static_svr2 @static_svr3