On 18 Apr 2016, at 12:09, siroco <nginx-fo...@forum.nginx.org> wrote:
> Привет! > > Хочется сделать такую вещь - проверять наличие файла (это файл с контрольной > суммой, например, "/myfile.txt.sha256") и в случае наличия файла делать > редирект на CDN на "/myfile.txt". А в случае отсутствия файла - просто > выдавать 404. > > Поскольку "if"(ы) это плохо, то напрашивается решение с try_files. > > Однако вот такой вот конфиг редиректит на CDN только в случае отсутствия > файла с контрольной суммой: > > # if file with checksum exists then redirect to CDN > location / { > root /var/www/myfiles; > try_files $uri.sha256 @redirect_to_cdn; > } > > location @redirect_to_cdn { > return 302 http://mycdn.domain.com$request_uri; > } > > > Возможно ли как-то инвертировать условие try_files? if это, конечно, плохо, но в сочетании с return не имеет побочных эффектов. Можно использовать. -- Igor Sysoev http://nginx.com _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru