April 18, 2016 05:18AM
On 18 Apr 2016, at 12:09, siroco <nginx-forum@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
Subject Author Posted

Redirect в случае если файл присутствует

siroco April 18, 2016 05:09AM

Re: Redirect в случае если файл присутствует

Igor Sysoev April 18, 2016 05:18AM

Re: Redirect в случае если файл присутствует

Илья Шипицин April 18, 2016 05:20AM

Re: Redirect в случае если файл присутствует

siroco April 18, 2016 06:33AM

Re: Redirect в случае если файл присутствует

Igor Sysoev April 18, 2016 06:48AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 245
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready