Primeros Pasos
Esta página describe casos de uso comunes para crear reglas en la aplicación Redirect Web.
(También puede aprender los detalles de la configuración de reglas en la página Configuración de Reglas.)
Caso 1: Abrir otro sitio web
Supongamos que es adicto a Twitter y decide meditar en Insight Timer cada vez que abre Twitter accidentalmente. ¡Creemos una regla para eso!
Paso 1. Configurar "Redirigir Desde"
Primero, debe configurar la sección Redirigir Desde en la pantalla Editar Regla de la aplicación. Los objetivos son URL que comienzan con https://twitter.com/
.
En este caso, puede especificar el siguiente patrón con el modo Comodín:
https://twitter.com/*
En el modo Comodín, *
significa que coincide con cualquier cosa (= cero o más caracteres).
Sin embargo, espere. twitter.com
fue renombrado a x.com
. Puede simplemente reemplazar twitter.com
con x.com
, pero nadie sabe cuándo el nuevo propietario cambiará de opinión nuevamente para revertirlo. Por lo tanto, apuntemos tanto a twitter.com
como a x.com
.
Para hacer eso, cambie de Comodín a Expresión Regular, y establezca esto como el patrón:
https://(twitter|x).com/.*
(twitter|x)
: apunta tanto atwitter
como ax
. (|
se llama una barra vertical.).*
: Es lo mismo que*
de Comodín. Más específicamente,.
significa cualquier carácter y*
significa cualquier cosa antes de este símbolo repetida cualquier número de veces, lo que resulta en que coincide con cualquier cosa.
La Expresión Regular es un poco complicada, pero una vez que se acostumbre a ella, será una herramienta poderosa. Recomendamos usar RegExr como un campo de pruebas para analizar cómo funciona su patrón de Expresión Regular.
En Expresiones Regulares, .
en (twitter|x).com
también se trata como cualquier carácter. Por lo tanto, (twitter|x).com/.*
también coincide, por ejemplo, twitter1com/
o x_com/
.
Para evitarlo, puede cambiarlo a (twitter|x)\.com/.*
. \
se usa para escapar un carácter especial.
Sin embargo, no existen tales URL en el entorno general de Internet. Por lo tanto, puede dejar .
como un carácter especial si lo prefiere. Su regla es para su propio uso, así que impleméntela como mejor le parezca.
Paso 2: Configurar "Redirigir A"
Simplemente especifique la URL de la siguiente manera:
https://insighttimer.com/saraauster/guided-meditations/calm
¡Ahora, Redirect Web lo lleva a la meditación cuando accede a Twitter!
Caso 2: Eliminar Parámetros de Consulta de la URL
Supongamos que hay un parámetro de consulta source=twitter
en una URL de example.com
, y usted decidió eliminarlo para anonimizarse.
En este caso, la opción Procesamiento de Grupo de Captura es la forma más sencilla:
- Redirigir Desde:
https://example.com/*
(Comodín) - Redirigir A:
$0
- Procesamiento de Grupo de Captura:
- Grupo:
$0
- Proceso: Reemplazar Ocurrencias
- Objetivo:
&?source=[^&]*
- Reemplazo: (ninguno)
- Patrón de Texto: Expresión Regular
- Objetivo:
- Grupo:
Esta regla funciona de la siguiente manera:
https://example.com/?source=twitter
↪ https://example.com/?
https://example.com/?hello=world&source=twitter&foo=bar
↪ https://example.com/?hello=world&foo=bar
Si desea eliminar más parámetros, agregue más procesos.
Caso 3: Agregar Parámetros de Consulta a la URL
Digamos que hay un sitio web llamado example.com
que muestra un diseño móvil por defecto, pero usted prefiere su diseño de escritorio. Afortunadamente, el sitio web admite un parámetro de consulta layout
para especificar qué diseño muestra el sitio web. Creemos una regla que agregue layout=desktop
automáticamente.
Quizás piense que podría definirlo de la siguiente manera:
- Redirigir Desde:
https://example.com/.*
(Expresión Regular) - Redirigir A:
$0?layout=desktop
$0
hace referencia a la URL de destino. Si intenta acceder a example.com/hello
, será redirigido a example.com/hello?layout=desktop
. Esta característica se llama sustitución.
La sustitución también está disponible para el modo Comodín, ya que internamente se convierte a Expresión Regular.
Sin embargo, hay algunos problemas con esta configuración.
Problema 1: Bucle infinito
La configuración actual crea un bucle de redirección infinito ya que https://example.com/.*
también apunta a https://example.com/hello?layout=desktop
.
En este caso, puede especificar un patrón de URL excluido que le permita acceder sin redirección, como este con Expresión Regular:
.*[&?]layout=[^&]*.*
.*
: Coincide con cualquier cosa[&?]
: Coincide con&
o?
[^&]*
: Coincide con cualquier cosa excepto&
Problema 2: No puede manejar los parámetros existentes correctamente
Si la URL de destino ya tiene otros parámetros de consulta como example.com/hello?theme=dark
, el destino será example.com/hello?theme=dark?layout=desktop
(Hay dos ?
en la URL) pero solo puede unir los parámetros con &
. ?
como carácter especial solo se permite al principio de los parámetros. Por lo tanto, no se trata como un parámetro válido.
En este caso, cambie la configuración de la siguiente manera:
- Redirigir Desde:
(https://example.com/[^?]*)(\(?(.*))?
- Redirigir A:
$1?layout=desktop&$3
Echemos un vistazo paso a paso.
(https://example.com/[^?]*)
: Coincide con la parte hasta el carácter anterior a?
.[^?]*
coincide con cualquier cosa excepto?
.- Esto está envuelto con
()
para que pueda hacer referencia a él con$1
más tarde.
(\(?(.*))?
: Coincide con una cadena que comienza con?
, lo que significa parámetros de consulta.- Esto también coincide con una cadena vacía por el cuantificador
?
al final del patrón, que coincide cero o una vez. - Los
()
externos y los()
internos se pueden referenciar con$2
y$3
más tarde.
- Esto también coincide con una cadena vacía por el cuantificador
RegExr puede ayudarle a comprender los detalles.
RegExr muestra un error cuando no escapa /
con \
. Aunque puede escaparlo, no es necesario ya que Redirect Web utiliza un motor diferente de Apple que no requiere escape.
Esta no es una solución perfecta, ya que redirige example.com/hello
a example.com/hello?layout=desktop&
, lo que incluye un &
innecesario al final de la URL. No es un gran problema en general, pero si desea eliminarlo, puede usar el Procesamiento de Grupo de Captura.
En conclusión, esta es la salida final:
- Redirigir Desde:
(https://example.com/[^?]*)((\(?(.*))?)
(Expresión Regular) - Redirigir A:
$1?layout=desktop$3
- Patrón de URL Excluido:
.*[&?]layout=[^&]*.*
(Expresión Regular) - Procesamiento de Grupo de Captura:
- Grupo:
$3
- Proceso: Reemplazar Ocurrencias
- Objetivo:
\?(.*)
- Reemplazo:
&$1
- Objetivo:
- Grupo:
Esto es simplemente un ejemplo. También puede crear múltiples reglas para manejar cada problema. Puede ser mucho más simple.