NGINX 请求转发时使用美元符号 URL

问题描述 投票:0回答:1

我想设置 NGINX,以便所有以下形式的请求:

example.com/$
example.com/$/
example.com/$/a
example.com/$/a/
example.com/$/a/b/

被转发到一台上游服务器,其他所有内容都转发到另一台上游服务器,但无法使其工作。我正在尝试以下配置:

location / {
// server 1
}

location ~ ^/\$/(.*)$ {
// server 2
}

~
用于正则表达式匹配。我已经使用
\$
来逃避
$
符号。
/.*
应该与我上面列出的形式的路径匹配。

但是当我向

example.com/$
发出请求时,我收到了来自 NGINX 的错误请求。有谁知道如何做到这一点?我还需要处理编码的 URI:

> encodeURIComponent('$')
'%24'

因此,如果 URI 使用

%24
而不是
$
,则应妥善处理。谢谢。

nginx
1个回答
0
投票

这适用于

/%24
/$

  location ^~ /$ { 
  }
© www.soinside.com 2019 - 2024. All rights reserved.