正则表达式 – 根据url / nginx设置内容部署

让nginx为URL提供静态文件,例如http://foobar.tld/\u0026lt; random_dir> /< file_md5sum_as_filename>我想如果我在url的末尾指定?f =“filename.filetype” – nginx解析该结尾的查询字符串(如果已指定)并准备新的内容dispose匹配指定的参数并且没有任何动态后端,这是不可能的.

或实例http://foobar.tld/\u0026lt; random_dir> /< file_md5sum_as_filename>?f =“foobar.pdf”

这样的事情可以用nginx / lua模块完成吗?有没有人有任何有用的例子或做过类似的事情?

最佳答案
这确实可以用nginx-lua;特别是header_filter_by_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
  ';
}

转载注明原文:正则表达式 – 根据url / nginx设置内容部署 - 代码日志