Как запретить регулярному выражению соответствовать пустому пути?

#regex #nginx #nginx-location #nginx-reverse-proxy

#регулярное выражение #nginx #nginx-location #nginx-reverse-proxy

Вопрос:

Я пытаюсь определить два разных местоположения. Первый (A) обслуживает файлы под псевдонимом. Второй (B) из proxy_pass.

(B) использует регулярное выражение для сопоставления с путем.

Они оба работают отдельно.

 # configuration (A)
location /some-path {
  alias /dev/folder/dist;
  index index.html;
  try_files $uri $uri/ /index.html;
}

# configuration (B) 
location ~ ^/some-path/([w-] -[w$] )/(w ) {
  proxy_pass http://web-app/some-path/$1/$2;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection $connection_upgrade;
}
  

Я бы хотел, чтобы местоположения отвечали на эти URL-адреса :

К сожалению http://domain.local/some-path/example-000 возвращает 404 из приложения, стоящего за (B).

Приложение возвращает это странное сообщение 404 "/some-path/example-000/index"

Какие изменения я могу внести, чтобы это заработало?

Комментарии:

1. Что /some-path/example-000 должно возвращаться. Похоже, что оно преобразуется в /some-path/example-000/index.html в блоке (A), который затем обрабатывается блоком (B).

2. Это именно то, что происходит. /some-path/example-000 служит /dev/folder/dist/example-000/index.html . Если это нормальное поведение, что я могу сделать, чтобы оба URL были доступны?