the rewriterule mod_rewrite ifmodule how flag examples apache mod-rewrite query-string

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 ?