Re: Redirect в случае если файл присутствует
Igor Sysoev
igor на sysoev.ru
Пн Апр 18 09:17:18 UTC 2016
On 18 Apr 2016, at 12:09, siroco <nginx-forum at 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