当尝试访问没有“路径”的 example.com (example.com/path) 时,我需要 Nginx 将路径添加到 URL,如果路径已经存在,则忽略重写。欢迎任何帮助。
我曾尝试返回
返回 301 $scheme://example.com/path$request_uri; 它会一直重定向,直到达到 10 的限制
我也尝试过重写但显然也没有写对。
拓扑结构是 [代理] -> [网络服务器] 我尝试在两者上进行重定向,不确定是否应该在代理或网络服务器上进行转换
答案1
如果你想将请求代理到后端应用程序,你可以使用
location / {
proxy_pass http://upstream/path/;
}
location /path/ {
proxy_pass http://upstream;
}
重写规则也是可能的,使用负面前瞻正则表达式,但性能会比第一个例子略低:
rewrite ^((?!/path/).*) /path$1 ...