行爲不同,我看到在這兩種情況下不同的行爲:Nginx的位置語句和正則表達式匹配正常
location ~ /(?<version>v[12]) {
proxy_pass https://localhost/api/$version;
}
location /v2 {
proxy_pass https://localhost/api/v2;
}
如果我要求/v2/login
,我看到在正則表達式配置/v2
的請求,而直接匹配正確保留了整個請求url。
我嘗試添加第二個捕獲組,/(?<version>v[12])/(?<path>.*)
,然後它工作,主要是。但是,它似乎與PUT/POST混亂。
我有遺漏嗎?我讀了documentation,但據我所知,使用正則表達式或不使用正則表達式不應該有任何區別。