Nginx 重写https://domain/subdir//foo 至https:/domain/subdir/foo

Nginx 重写https://domain/subdir//foo 至https:/domain/subdir/foo,nginx,url-rewriting,nginx-location,Nginx,Url Rewriting,Nginx Location,我正在尝试用Nginx代理一个位置。 不幸的是,有时会创建一个类似https://domain.com/subdir//foo而不是https://domain.com/subdir/foo。(请注意额外的斜杠。) 我正在我的Nginx配置文件中使用这个位置 location /subdir/ { proxy_pass 0.0.0.0:8081/subdir/; } 我尝试了几种不同的重写和位置,以使带有双斜杠的URL指向不带双斜杠的URL 关于如何实现这一点有什么见解吗?变量$uri

我正在尝试用Nginx代理一个位置。 不幸的是,有时会创建一个类似
https://domain.com/subdir//foo
而不是
https://domain.com/subdir/foo
。(请注意额外的斜杠。)

我正在我的Nginx配置文件中使用这个位置

location /subdir/ {
    proxy_pass 0.0.0.0:8081/subdir/;
}
我尝试了几种不同的重写和位置,以使带有双斜杠的URL指向不带双斜杠的URL


关于如何实现这一点有什么见解吗?

变量
$uri
包含一个标准化的uri,其中的
/
被一个
/
替换

您可以通过以下方式获得成功:

location /subdir/ {
    rewrite ^ $uri break;
    proxy_pass http://0.0.0.0:8081;
}

谢谢,但是不要掷骰子。这对我来说很有效,但我确实需要将
http://
添加到
代理过程中以删除警告。这是我复制粘贴时的一个疏忽。我想知道这是否是因为我正在代理一个subdir…如果有人遇到这个问题,我最终会切换到Nginx