nginx 中的位置正则表达式和重定向问题

nginx 中的位置正则表达式和重定向问题

我想在 nginx 中设置代理:

location ~ ^/m/([^/]*)/([^/]*)/([^/]*)$ {
  proxy_pass http://127.0.0.1:8080/redir/m/$1/$2/$3;
  proxy_redirect off;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

它可以工作但是这个地址

http:// myhost/m/test//ss

被翻译为

http:// 127.0.0.1:8080/redir/m/test/ss;

我怎样才能得到我的第二个斜线?谢谢。

答案1

你不能。 A//被定义为等同于/,并且 nginx 总是在传递 URL 之前将其简化为规范形式。

相关内容