Как написать такой try files. Или как заблокировать логгирование 403?

Balancer nginx-forum на nginx.us
Сб Ноя 5 23:57:11 UTC 2011


Есть такая задача. По полученной ссылке
нужно сперва обработать привычным
образом ссылку прямо, ссылку в виде
индексного файла по умолчанию, и если
таких нет — то обработать фреймворком.

Делаю так:
try_files   $uri $uri/ @bors =404;

Всё работает прекрасно до того момента,
пока не окажется существующим каталог
$uri/ без индексного файла. В этом случае
(autoindex, понятно, выключен) вылетает 403-я
ошибка. А это вполне обычная ситуация —
например, ссылка обрабатывается
фреймворком, но внутри лежат обычные
файлы.

Вылечить не сложно:
error_page 403 = @bors;
и всё работает. Кроме черпака дёгтя —
после этого логи забиты 403-й ошибкой.

Собственно, вопрос. Можно ли как-то
избежать этой проблемы при try_files (не
генерировать 403-й ошибкой, если
выключен autoindex, а проверка в середине),
либо хотя бы скрыть вывод 403-й ошибки в
лог-файл (остальные ошибки выводить
нужно).

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,217862,217862#msg-217862



Подробная информация о списке рассылки nginx-ru