我想设置 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
而不是 $
,则应妥善处理。谢谢。
这适用于
/%24
和 /$
location ^~ /$ {
}