estoy usandoExtensión solicitada para Chrome y Firefoxpara configurar redirecciones. Tengo un caso de uso en el que quiero cambiar el host de, por ejemplo, www.a.com a www.b.com, excepto cuando www.a.com tiene una ruta específica (por ejemplo, www.a.com/do_not_switch).
Sé que Requestly apoyaCoincidencias de expresiones regulares y comodinespero no veo una opción para proporcionar un filtro negativo, algo así como No contiene.
Necesita ayuda para lograr este caso de uso. Aquí está el ejemplo
Redirigir https://gsd.zgjx.zwa.com/* -->https://asc.zxc.com/*
excepto https://gsd.zgjx.zwa.com/gsd/translation/...
PD: publicar esta pregunta en nombre de un usuario ya que la solución a este problema es genérica y será aplicable/útil para otros usuarios en el futuro.
Respuesta1
Requestly no admite filtros negativos (por ejemplo, no contiene), pero puede utilizar un truco sencillo para resolver este caso de uso.
Resumen
He resuelto y creado la regla para ti. Por favor sigue estos pasos
- Instalarsolicitamente
- Abiertohttps://app.requestly.in/rules/#sharedList/1566298072114-Negative-Filter-example-support-request
- Haga clic en
Import List
el botón en la parte superior derecha
Detalles
Paso 1: cambie el nombre de host por otro cuando la URL coincida con su condición de excepción
URL Matches (WildCard) https://gsd.zgjx.zwa.com/gsd/translation/*
Destination https://www.dummyhost.com/gsd/translation/$1
Paso 2: defina un par genérico para configurar la redirección
En el siguiente par, agregue la lógica de redirección de forma genérica para todas las rutas. Tenga en cuenta que no se aplicará a su ruta de excepción porque el nombre de host ya se cambió en el primer par.
URL Matches (WildCard) https://gsd.zgjx.zwa.com/*
Destination https://asc.zxc.com/$1
Paso 3: revierta el nombre de host ficticio al original
URL Matches (Wildcard) https://www.dummyhost.com/gsd/translation/*
https://gsd.zgjx.zwa.com/gsd/translation/$1
Aquí hay una captura de pantalla para ayudarlo con la imagen.
Déjame saber si no te funciona.
Respuesta2
Para resolver esto, utilizamos la aserción de anticipación negativa RegEx (?!...)
. Sólo se necesita un par.
Ya he creado la regla.Para usarlo, simplemente abra el enlace, haga clic en el Import to My Rules
botón en la parte superior derecha y pruébelo.
Alternativamente, puedes crear la regla manualmente:
Crea una nueva regla.
En la
If request
sección, elijaMatches (RegEx)
en el menú desplegable del operador.Pegue este código RegEx en el campo:
/^https:\/\/gsd\.zgjx\.zwa\.com(?!\/gsd\/translation)/
La parte más importante es esa lista
\.com(?!\/gsd\/translation)
. Está diciendo que si.com
esnoseguido de/gsd/translation
, luego la URL coincide.En la
Redirects to
sección, pegue esto en su campo.https://asc.zxc.com/
Tu regla debería verse asíeste.
Guarde y pruebe su regla.