У меня есть веб-сервер, на котором запущен apache2 с php7.
В моей конфигурации apache есть правило перенаправления, подобное следующему:
RewriteCond %{HTTP_HOST} !^www.*
RewriteRule .* %{HTTP:X-Forwarded-Proto}://www.%{HTTP_HOST}%{REQUEST_URI} [QSA,R=301,L]
Это должно выполнить форму перенаправления http(s)://example.com/scpript?param1=x¶m2=y
к http(s)://www.example.com/scpript?param1=x¶m2=y
В основном это работает, за одним исключением: на переписанный URL-адрес передается только первый параметр get, поэтому мой клиент фактически получает http(s)://www.example.com/scpript?param1=x
как цель перенаправления.
Я очень озадачен, как мне заставить систему передавать полный запрос?
если также попробовал
RewriteRule .* %{HTTP:X-Forwarded-Proto}://www.%{HTTP_HOST}%{REQUEST_URI}?%{QUERY_STRING} [QSA,R=301,L]
Но это перенаправляет меня на http(s)://www.example.com/scpript?param1=x¶m1=x
. Похоже, что что-то упускает другие параметры, прежде чем перезапись вступит в силу.