htaccess: ¿Cómo reemplazar una cadena con un carácter especial?

htaccess: ¿Cómo reemplazar una cadena con un carácter especial?

Me gustaría redirigir la siguiente URL según la siguiente lógica:

Input  : https://www.example.com/blablabla,?trx_id=TX-23
Output : https://www.example.com/blablabla,TX-23

La regla es siempre eliminar la cadena:?trx_id=

Intenté lo siguiente pero no funciona. Parece que está relacionado con caracteres especiales.

RewriteRule ^(.+)?trx_id=(.+)$ $1$2 [R=301,L]

¿Alguien puede ayudar por favor? Gracias

Respuesta1

Pruebe lo siguiente en su lugar:

RewriteCond %{QUERY_STRING} ^trx_id=([^&]*)
RewriteRule (.*) /$1%1 [QSD,R,L]

ElRewriteRule patróncoincide únicamente con la ruta URL. Para que coincida con la cadena de consulta necesita uncondiciónque se compara con la QUERY_STRINGvariable del servidor.

%1(a diferencia de $1) es una referencia al anteriorPatrónCond(es decir, el valor del trx_idparámetro URL).

información relacionada