Regex 基于url/nginx设置内容处置

Regex 基于url/nginx设置内容处置,regex,nginx,lua,content-disposition,Regex,Nginx,Lua,Content Disposition,让nginx使用类似于url的url服务静态文件http://foobar.tld//,我想知道是否在url的末尾指定?f=“filename.filetype”-nginx在末尾解析该查询字符串(如果已指定),并准备新的内容以匹配指定参数,并且没有任何动态后端,这是不可能的 或实例http://foobar.tld//?f=“foobar.pdf” 使用nginx/lua模块可以完成类似的操作吗?有没有人举过有用的例子或做过类似的事情 使用nginx lua确实可以做到这一点;特别是该指令 类

让nginx使用类似于
url的url服务静态文件http://foobar.tld//
,我想知道是否在url的末尾指定
?f=“filename.filetype”
-nginx在末尾解析该查询字符串(如果已指定),并准备新的内容以匹配指定参数,并且没有任何动态后端,这是不可能的

或实例
http://foobar.tld//?f=“foobar.pdf”


使用nginx/lua模块可以完成类似的操作吗?有没有人举过有用的例子或做过类似的事情

使用nginx lua确实可以做到这一点;特别是该指令

类似于以下内容的内容应该可以做到这一点:

location / {
  header_filter_by_lua '
    local args = ngx.req.get_uri_args()
    if not args.f then return end

    ngx.header["Content-Disposition"] = "attachment; filename=" .. args.f
  ';
}

纯Nginx配置

location / {
  if ($arg_f) {
    add_header Content-Disposition "attachment; filename=$arg_f";
  }
}

让我重新表述你的问题,以确保我能很好地理解它。您希望用户下载一个名为
foobar.pdf
的文件或它设置为
f
参数的任何文件,从名为
/random\u dir/md5sum
的本地文件提供服务?在这两种情况下,您都从
/random\u dir/md5sum
获取内容,但在第二种情况下,您设置了参数
?f=
nginx设置了内容配置,并从参数值中指定了文件名。耶!这就是我要找的。10xYes,这是香草Nginx配置