假设我有一个域名 test.com。并且 Nginx 为多个应用程序提供服务。我该怎么做:
- test.com/match/here - 这将是请求
由 nginx 处理为:
- test.com/new/prefix/match/此处
nginx 可以做到吗
#server context
location /match/here {
proxy_pass http://example.com/new/prefix;
}
location /app {
...
}
. . .
另一个问题是,一个位置如何仅通过 nginx 配置就能重定向到另一个位置?
先感谢您!
答案1
为了让 nginx 处理test.com/match/here
来自 location 的请求test.com/new/prefix/match/here
,你需要执行以下操作:
location ~ /match/here(.*) {
rewrite ^ /new/prefix/match/here$1 last;
}
proxy_pass
用于将请求传递给另一个将处理该请求的程序。从您的问题来看,您似乎只想更改请求 URI,这可以通过上述条目完成。
有关该rewrite
指令的更多信息,请参阅http://nginx.org/en/docs/http/ngx_http_rewrite_module.html