Перенаправление местоположения Nginx

Пожалуйста, ребята, помогите мне с этим, я хочу, чтобы кто посещал этот URL https://123.com/storage/app/profiles/Ar.BB_1585493889.png?w=200&h=200

С параметрами в конце, которые w= и h=, сделать прокси-переход к нему только в том случае, если URL-адрес связан с двумя параметрами w= и h=. Я пытался сделать это, но это не работает

> $1 = for the file name which is Ar.BB_1585493889.png
> $2 = for width(w=) 
> $3 = for height (h=)


location ~* ^/storage/app/profiles/(.*)?w\=(.*)\&h\=(.*) {
proxy_pass http:/123.com:8888/unsafe/$2x$3/smart/https://123.com/storage/app/profiles/$1;
}

Ваша помощь очень ценится.


person user2698113    schedule 11.07.2020    source источник
comment
Вы не можете захватить строку запроса (что-либо после ?) с помощью директивы location. Вместо этого вы можете использовать $arg_w и $arg_h.   -  person Richard Smith    schedule 11.07.2020
comment
Спасибо @RichardSmith, я очень ценю вашу помощь, не могли бы вы помочь мне передать три параметра, одним из которых является имя файла, я видел эту проблему здесь, но не мог понять, как применить ее к моему. stackoverflow.com/questions/8130692/   -  person user2698113    schedule 11.07.2020
comment
Мне нужен этот 123.com/storage/app/profiles / для прокси-перехода к этому http:/123.com:8888/unsafe/$2x$3/smart/123.com/storage/app/profiles/$1   -  person user2698113    schedule 11.07.2020


Ответы (1)


Работая с моим коллегой, он решил эту сложную часть, и я нашел решение для передачи прокси, все дело в перенаправлении изображений большого пальца или изображения в Nginx через прокси, поэтому мобильной команде не нужно менять какие-либо URL-адреса.

        location ~* ^/storage/app/profiles/(.*) {
#error_page   400 401 402 403 404 405 500 501 502 503 504  @error_page;
                set $image $1;
                if ($is_args = "?") {
                        rewrite ^.*$ "/unsafe/${arg_w}x${arg_h}/smart/https://123.com/storage/app/profiles/$image?" break;
                        proxy_pass http://127.0.0.1:8888;

                }
        }

Вы по-прежнему можете использовать error_page для перенаправления людей на настоящий URL-адрес, если сервер Thumbor не работает.

person user2698113    schedule 13.07.2020