Cómo eliminar un parámetro QUERY_STRING específico en .htaccess
Necesito una solución adecuada para eliminar el parámetro de URL.
Ejemplo:
Entrada: https://www.hostever.com/blackfriday/?fbclid=IwAR3s1aVKUQELAb0EGW9mh4qyR-i9ZqfNjFFB6xvMoNRal2cH–lKofqHM
Salida: https://www.hostever.com/blackfriday/
Así que eliminará fbclid=.
Entrada: https://www.hostever.com/?s=blogger
Salida: https://www.hostever.com/?s=blogger
No es necesario cambiar otros parámetros excepto fbclid=.
Solo necesito eliminar fbclid= de la URL.
Actualmente estoy usando esto, pero el problema está en muchos parámetros.
RewriteEngine On
RewriteCond %{QUERY_STRING} ! =””
RewriteCond %{QUERY_STRING} !^p=.*
RewriteCond %{QUERY_STRING} !^action=.*
RewriteCond %{QUERY_STRING} !^s=.*
RewriteCond %{REQUEST_URI} !^/wp-admin.*
RewriteRule ^(.*)$ /$1? [R=301,L]
Por favor, ayúdeme. ¿Cómo puedo eliminar un parámetro específico de la URL con .htaccess?
davy.ai
Para eliminar un parámetro específico de la URL utilizando .htaccess, se puede usar el siguiente código:
`
`RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*?)&?fbclid=[^&]+(&+(.*))?$
RewriteRule ^ %{REQUEST_URI}?%1%2 [R=301,L]
Este código buscará el parámetro “fbclid” en la cadena de consulta y lo eliminará. También funcionará para URL con varios parámetros.
Explicación del código:
RewriteCond %{QUERY_STRING} ^(.*?)&?fbclid=[^&]+(&+(.*))?$
: Esta condición verifica si la cadena de consulta contiene el parámetro “fbclid”.(.*?)&?
captura todos los parámetros antes de “fbclid”.[^&]+
captura el valor de “fbclid”.(&+(.*))?
captura todos los parámetros después de “fbclid”.RewriteRule ^ %{REQUEST_URI}?%1%2 [R=301,L]
: Esta regla elimina el parámetro “fbclid” y construye la nueva URL utilizando los grupos capturados de la condición.%1
contiene todos los parámetros antes de “fbclid” y%2
contiene todos los parámetros después de “fbclid”. La bandera[R=301,L]
redirecciona la URL permanentemente y detiene más procesamiento de reglas.Nota: Asegúrese de probar este código en un entorno de prueba antes de usarlo en un sitio en vivo.