×

Nginx从请求中获取文件名、顶级目录的方法

2022-01-20 11:45:05 Falcon

Nginx从请求中获取文件名、顶级目录的方法

需要使用mapcaptured

# 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";

测试:

 

本文收录于