rewriterule - Reescribir Apache2 con cadena de consulta escapada dos veces
ifmodule mod_rewrite c apache (1)
Intente agregar la etiqueta [NE] (noescape) al final de la regla de reescritura:
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [NE]
Esto sucede porque &
y ?
y algunos otros se escapan por defecto en el proceso de reescritura.
El uso de esta regla en un archivo de configuración de host virtual conduce a un doble escape de los parámetros de consulta:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Por ejemplo:
http://example.com?f=hello%20world
Lleva a
https://example.com?f=hello%2520world
Tenga en cuenta el "% 25" que escapa del signo "%". Por qué está pasando esto ?