Nginx - 如何从 URL 中获取数字变量并将其设置为变量?

我正在尝试通过从 url 中获取它们的 id 来创建文件上传的配置。

示例 url: example.com/fileupload/123

这将把图片上传到 123 文件夹中。

当前配置:

location /fileupload/(^[0-9]+$)$ {
           if ($request_method = 'POST') {
              add_header 'Access-Control-Allow-Origin' '*';
              add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
              add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,fileheader';
              add_header 'Access-Control-Expose-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range';
           }
            default_type text/html;
            set $fileSavePath "C:\\server\\openresty\\user\\images\\"+$1;
            content_by_lua_file lua/fileupload.lua;
        }

重新加载后,我的配置似乎不起作用。 基本上,我正在尝试从 url 中获取数字,然后将其添加到我现有的路径变量中。

这是正确的方法吗?

点赞
用户1542755
用户1542755

据我所记,在Nginx中没有字符串拼接,因此无法使用+合并字符串。

只需将其写成


    $fileSavePath "C:\\ server \\ openresty \\ user \\ images \\ $1"
2018-06-01 19:18:26