Como aplicar explicitamente os percentuais de escape a um URL no nginx?

2

Eu tenho a seguinte configuração:

location ~ ^/((index\.php|robots\.txt|admin|static|uploads|api)(/.*)?)$ {
    proxy_set_header Host $http_host;
    proxy_pass http://localhost:1337/$1?$args;
}

Desejo aplicar o percentual de escape para $1 , por exemplo, /admin/foo%20bar encaminharia como /admin/foo%20bar e não como /admin/foo bar . Como posso fazer isso?

    
por rightfold 08.11.2013 / 22:47

2 respostas

2

Tente usar nginx http_set_misc_module # set_unescape_uri

por exemplo:

location ~ ^/((index\.php|robots\.txt|admin|static|uploads|api)(/.*)?)$ {
    set_unescape_uri $1;

    proxy_set_header Host $http_host;
    proxy_pass http://localhost:1337/$1?$args;
}
    
por 09.11.2013 / 09:29
0

Você pode usar a diretiva set que mantém a codificação intacta ou você pode recodificar uri decodificado.

location ~ ^/((index\.php|robots\.txt|admin|static|uploads|api)(/.*)?)$ {
    set $query $1;
    proxy_set_header Host $http_host;
    proxy_pass http://localhost:1337/$query?$args;
}
    
por 24.07.2018 / 14:03

Tags