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

Nginx переопределяет обработку индекса каталога ngx_http_index_module

Nginx версии 1.4.6

автоиндекс выключен;

В приложении, не имеющем центральной конечной точки маршрутизации, и для каталогов в структуре, у которых вообще нет index. *, Я хочу выполнить внешнее перенаправление, а не 403 Запрещено или внутреннее перенаправление.

app-root/
    app-core/
    config/
    lib/
    modules/
    templates/
index.php

Учитывая вышеизложенное, если ни один из app-core / lib / modules / templates / не имеет index. *, Без server { location {}} покрытия конфигурации, любой запрос к ним приводит к 402 запрещенному ответу. Ой.

С помощью этой конфигурации я могу внутренне перенаправить на реальный index.

location ~* ^/(app-core|config|lib|modules|templates)/$ {
    index /;
}

Итак, просьба к http://localhost:xxxx/lib/ обслуживает app-root / index.php, показанный выше. Достаточно честно, но я думаю, что могло быть лучше.

Я бы скорее выпустил 303 См. Другое и перенаправить на http://localhost:xxxx/ но я не могу понять, как заставить его работать.

Он должен работать с этим:

location ~* ^/(app-core|config|lib|modules|templates)/$ {
    return 303 http://localhost:xxxx/;
}