Подскажите пожалуйста, должна ли работать кастомная страница error_page для return 40x в блоке if? Если нет, то почему?
Например следующая конфигурация будет отдавать стандартную страницу ошибки nginx 403 :
        error_page 403 /m/403.html;
        if ( $request_uri ~* /.svn/) {
                return 403;
        }
А вот конфигурация с использованием location уже отдаст кастомную страницу ошибки (/m/403.html):
        error_page 403 /m/403.html;
        location ~* /.svn/ {
                return 403;
        }
nginx -V
nginx version: nginx/1.2.6
-- 
Best Wishes,
Oleg Malaphey