我有两个地点:
location ~ ^/[^/]+/[^/]+/reg/.*$ {
dav_methods DELETE MOVE;
...
}
location ~ ^/[^/]+/[^/]+/.*$ {
dav_methods PUT DELETE MKCOL MOVE PROPFIND;
...
}
基本上,第一个应该对 /reg/ 目录中文件的 MOVE 和 DELETE 请求执行 something-1(只读),第二个应该对所有文件(包括 /reg/ 目录中的文件)的所有请求执行 something-2。问题是我需要对所有请求/文件(包括 MOVE 和 DELETE 请求以及来自 /reg/ 目录的文件)执行 something-2。我该怎么做?
我尝试将代码从第二个位置复制到第一个位置,但 PUT、MCKOL 和 PROPFIND 请求被忽略。我还尝试使用 if(是的,我知道 if 很邪恶,但我很绝望):
location ~ ^/[^/]+/[^/]+/reg/.*$ {
if ($request_method ~* MOVE) {
...-from-loc-1
}
...-from-loc-2
}
但 ...-from-loc-2 的处理不知何故不正确。
那么,有什么想法吗?