Nginx используется для проксирования удаленного сервера.
Код php:
$url = '/internal_redirect/?url=' .
'domain.com?test=123&test2=234' .
'&protocol=https';
header("X-Accel-Redirect: " . $url);
Проблема в
domain.com?test=123&test2=234
. Если оставить как в примере, то будут просто передаваться дополнительные переменные типа arg_test2 и т. д. Если использовать urlencode, то nginx автоматом не декодирует. Как справиться с символами ? и & Желательно без установки дополнительных модулей. Это реально?
Частичный код nginx
location ~* ^/internal_redirect/ {
internal;
set $download_url $arg_protocol://$arg_url;
proxy_pass $download_url;
}