Как написать такой 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