自动摘要
正在生成中……
Nginx从请求中获取文件名、顶级目录的方法
需要使用map
和captured
:
# Gets the basename of the original request
map $request_uri $request_basename {
~/(?<captured_request_basename>[^/?]*)(?:\?|$) $captured_request_basename;
}
# Gets the basename of the current uri
map $uri $basename {
~/(?<captured_basename>[^/]*)$ $captured_basename;
}
# Get Top Directory Name From Request URI
map $request_uri $topdir {
~(?<captured_topdir>^/[a-zA-Z0-9]+[/]) $captured_topdir;
}
需要写在Server外。然后这样使用变量,如从原始请求中获取basename的变量 $request_basename
add_header CatBox "https://files.catbox.moe/$request_basename";
测试:
