我有一个需求要用到nginx rewrite功能, 需要把url中的?进行替换如想把: http://127.0.0.1/test?a=2替换成 http://127.0.0.1/test#a=2nginx里面的配置:rewrite ^(.*)\?(.*)$ $#$2;如上面,加上这个配置以后,替换不成功,是我配置不对,还是nginx rewrite不支持对?进行重写呢? 求助~
Hello!rewrite 匹配使用的应该是 $uri,即经过 decode 以后的 uri,不包含 args 部分。或许你可以尝试在 rewrite_by_lua 里通过 ngx.var.uri 和 ngx.var.args 以及 ngx_lua 提供的正则函数来达到你的需求。