Hello! On Fri, Oct 18, 2013 at 04:18:56PM +0300, Gena Makhomed wrote:
> On 18.10.2013 14:41, Maxim Dounin wrote: > > >>>Как уже и предлагалось - методом правильного документирования того > >>>факта, что директивы модуля rewrite - это часть процесса выбора > >>>конфигурации. И всяческие директивы allow/deny/whatever - > >>>применяются уже после того, как оный выбор случился. > > >>а что делать, если необходимо, чтобы директивы модуля > >>rewrite отработали после проверок allow/deny/whatever? > > >То же самое, что и в других подобных ситуациях - использовать > >другие механизмы. > > а из других механизмов у нас в наличии есть только try_files. > и в этом случае добавление try_files решило проблему с if'ом. Да правда? Ну вот мне хочется, например, выполнить диркетивы модуля rewrite после proxy_pass - типичный такой вопрос в рассылке. И как это делает try_files? Даже если же говорить именно об access-проверках, то try_files - опять же, не единственный вариант. Есть, например, директива error_page, которая позволяет точно также продолжить обработку запроса заново в другом месте. Не говоря уже о том, что иногда правильный ответ - "Не делайте так" (c). [...] > >Да-да, именно так. И в сухом остатке мы имеем больше проблем, чем > >их было до введения директивы try_files. > > если считать только количество записей в багтрекере, тогда да, > действительно так и будет: "в сухом остатке мы имеем больше > проблем, чем их было до введения директивы try_files". > > если же посмотреть со стороны пользователей - в большинстве случаев > написание конфигурации стало проще, удобнее и безглючнее, потому что > вместо фигурного выпиливания лобзиком работающей конфигурации > на основе директив if + return + error_page > + recursive_error_pages + proxy_intercept_errors > + fastcgi_intercept_errors + scgi_intercept_errors > + uwsgi_intercept_errors + ... > можно взять директиву try_files с простой и понятной логикой работы, > которая подходит для большинства наиболее частоиспользуемых случаев. Проблема в том, что "выпиливание лобзиком" - как было, так и осталось. Только к списку директив добавилась ещё парочка, за которыми нужно следить - try_files и alias. Отдельно печалит, что в результате конфигурации с error_page 404 @fallback - практически исчезли, хотя аналог на try_files - гарантированно хуже. -- Maxim Dounin http://nginx.org/en/donation.html _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
