如果没有在末尾添加参数,我如何获得request_uri
的值。我知道有一个uri
变量,但我需要原始值,因为Nginx文档声明:
REQUEST_URI
此变量等于从中收到的原始请求URI 客户包括args。它无法修改。看看$ uri 重写/更改后的URI。不包括主机名。例: “/foo/bar.php?arg=baz”
答案 0 :(得分:16)
你正在寻找$ uri。它没有$ args。事实上,$ request_uri几乎相当于$ uri $ args。
如果你真的想要删除args的$ request_uri,你可以这样做。
local uri = string.gsub(ngx.var.request_uri, "?.*", "")
你需要拥有lua,但这样做会完全符合你的要求。
答案 1 :(得分:12)
我使用这张地图,没有lua:
map $request_uri $request_uri_path {
"~^(?P<path>[^?]*)(\?.*)?$" $path;
}
答案 2 :(得分:0)
被接受的答案为我指明了正确的方向,但是我不得不弄清楚该指令的添加位置,经过一段时间的调查,我发现i1 <- is.na(winners$film)
winners$film[i1] <- winners$film.y[i1]
set_by_lua_block
我希望它可以为那些来这里的人节省一些时间。