注意:Lua noob
[在不修改和附加查询字符串参数的情况下,尝试强制使用小写URI。
我能够使用lua string.lower(ngx.var.uri)
处理URI,但它删除了查询字符串。
我曾尝试将$is_args$args
添加到我的try文件中,但相信在此之前已将其删除。
我想我必须在lua中用ngx.req.get_uri_args
创建一个表,并创建另一个块以在将URI转换为小写形式之后将其附加回去。只是不确定这是否是正确的方法
我还没有看过有关如何使用ngx.req.set_uri_args
在set_by_lua_block结果上设置args的文档,而仅仅是初始请求。
这里是我尝试过的两个代码块。
#works for just URI, but drops query string parameters set_by_lua_block $uri_lowercase { return string.lower(ngx.var.uri) } location ~ [A-Z] { try_files $uri $uri/ $uri_lowercase $uri_lowercase/ =404; }
也尝试过此方法,但不起作用:(
location ~ [A-Z] { try_files $uri $uri/ $uri_lowercase$is_args$args $uri_lowercase/$is_args$args =404; }
这里的任何想法都很感激-谢谢帮派
注意:Lua noob尝试强制小写URI,同时保持查询字符串参数未修改和附加。我能够使用lua string.lower(ngx.var.uri)来处理URI,但是它正在删除...
因此可以正常工作,但是会进行内部重写-将网址保留为大写形式。