2017-02-18 85 views
0

我想代理一个位置与Nginx的。 不幸the application is broken,有时会创建一个URL,如https://domain.com/subdir//foo而不是https://domain.com/subdir/foo。 (注意额外的斜杠。)重写的https://域名/子目录// FOO到https:/域名/子目录/富

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

location /subdir/ { 
    proxy_pass 0.0.0.0:8081/subdir/; 
} 

我已经尝试了几次不同的重写和位置,以获得带有双打的URL指向没有的URL。

就如何实现这一目标的任何见解?

+0

如果有人碰巧就这个问题,我最终只是切换到Nginx的 – RubberDuck

回答

0

$uri变量包含一个规范化的URI,其中//这样的内容被单个/替代。

您可能有成功:

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

谢谢,但没有骰子。 – RubberDuck

+0

嗯。它适用于我,但我确实需要将'http://'添加到'proxy_pass'中以删除警告。 –

+0

当我复制粘贴时,这是一个超过视线。我想知道是否因为我代理到一个子目录... – RubberDuck