location ^~ /testA {
rewrite ^/testA/(.*)$ /testB/$1 last;
}
这段配置的具体解析如下:
这段 Nginx 配置的意思是,当请求的 URL 匹配 /testA
目录时,它会将请求重写到 /testB
目录。
具体来说,rewrite
指令会捕获 /testA/
后面的所有内容(通过 (.*)
),并将其附加到新的路径 /testB/
后。last
表示在重写后停止处理其他规则。这种配置常用于 URL 的结构调整。
location ^~ /testA:这个指令定义了一个匹配块,用于匹配以
/testA
开头的请求。^~
表示如果找到这个匹配,就不再继续检查其他的location
块。-
rewrite ^/testA/(.)$ /testB/$1 last;*:这是重写规则。
-
^/testA/(.*)$
:正则表达式,匹配任何以/testA/
开头的 URL,(.*)
捕获/testA/
后面的所有内容。 -
/testB/$1
:重写后的目标路径,其中$1
是刚才捕获的内容,表示会将请求重定向到/testB/
加上原路径的其余部分。 -
last
:指示 Nginx 停止处理后续的重写规则并开始新的请求处理。
-
例如,如果请求是 /testA/example
, 它会被重写为 /testB/example
。这种配置常用于整理 URL 路径或实现 API 的版本管理。