Назад | Перейти на главную страницу

Псевдоним регулярного выражения Nginx в общем месте

Я пытаюсь рекурсивно обслуживать содержимое папки для нескольких идентификаторов клиентов, чтобы обеспечить обратную совместимость с соответствующим приложением вне моего влияния. Я хочу, чтобы все пути URL начинались с /<integer_customer_id>/<integer_display_id>/config/<whatever...> обслуживать файлы /var/cache/digsig/config/<whatever...>.

Вот что я пробовал до сих пор:

location ~ ^/[0-9]+/[0-9]+/config/ {
    alias /var/cache/digsig/config/;
}

В результате чего:

$ wget http://localhost:/993002/104/config/config.ini
--2016-12-07 12:08:57--  http://localhost/993002/104/config/config.ini
Resolving localhost (localhost)... ::1, 127.0.0.1
Connecting to localhost (localhost)|::1|:80... failed: Connection refused.
Connecting to localhost (localhost)|127.0.0.1|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://localhost/993002/104/config/config.ini/ [following]
--2016-12-07 12:08:57--  http://localhost/993002/104/config/config.ini/
Reusing existing connection to localhost:80.
HTTP request sent, awaiting response... 403 Forbidden
2016-12-07 12:08:57 ERROR 403: Forbidden.

В журнале написано:

2016/12/07 12:08:57 [error] 8232#8232: *4 directory index of "/var/cache/digsig/config/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET /993002/104/config/config.ini/ HTTP/1.1", host: "localhost"

Почему директива псевдонима переехал навсегда и почему он добавлен / в конце концов, уничтожив реальный путь? Обратите внимание, что у меня нет любой return 301 ... операторы во всей моей конфигурации Nginx.