Configurações de Regras
Esta página fornece informações detalhadas de cada configuração na tela Editar Regra no aplicativo Redirect Web.
Opções
Tipo
Especifique a opção Tipo para controlar como o aplicativo lida com o redirecionamento. Você pode escolher entre:
- Original (Padrão)
- Isso usa APIs Web tradicionais para controlar o redirecionamento. Além disso, usa a API Tabs como fallback.
- No Firefox, usa a API WebRequest para lidar com o redirecionamento.
- Você pode usar todas as opções, exceto Tipos de Recurso e Métodos de Requisição.
- Isso é mais lento que o tipo Declarativo e pode causar requisições de rede extras.
- Isso usa APIs Web tradicionais para controlar o redirecionamento. Além disso, usa a API Tabs como fallback.
- DNR (Experimental para Safari):
- Este tipo funciona muito mais rápido que o tipo Original porque não inicia uma requisição de rede para a URL de origem.
- Isso permite que você especifique Tipos de Recurso e Métodos de Requisição.
- ⚠️ Você não pode usar algumas opções, como Processamento de Grupo de Captura e Padrões de URL Excluídos, pois ainda não são suportadas pela API DNR.
- ⚠️ No Safari, atualmente você não pode incluir pipes (
|
) em seu padrão de Expressão Regular. Detalhes - ⚠️ Como a API DNR do Safari ainda tem alguns problemas, consideramos que ainda é um recurso experimental para o Safari. Você pode encontrar a lista de todos os problemas conhecidos aqui.
Redirecionar De
A opção Redirecionar De permite que você especifique um padrão de URL de páginas da web das quais você deseja redirecionar. Você pode escolher Curinga ou Expressão Regular.
Por exemplo, se você especificar https://example.com/*
com Curinga, ele corresponderá a https://example.com/
ou https://example.com/hello
.
Na opção Redirecionar Para, você pode referenciar a correspondência inteira usando $0
ou correspondências parciais usando $1
, $2
, ... Verifique os detalhes em Padrão de URL nesta página.
Tipos de Recurso
A opção Tipos de Recurso permite que você especifique as categorias de requisições da web, como imagens, JavaScripts e folhas de estilo, às quais a regra se aplica.
Por exemplo, se você definir script
, você pode redirecionar os arquivos JavaScript carregados pelas páginas da web.
Atualmente, estes estão disponíveis:
main_frame
, sub_frame
, stylesheet
, script
, image
, font
, xmlhttprequest
, ping
, media
, websocket
, other
O padrão é main_frame
, que é a página de nível superior carregada em uma aba.
Por favor, verifique os detalhes de cada tipo de recurso em mdn web docs.
Métodos de Requisição
A opção Métodos de Requisição permite que você defina os métodos HTTP de destino da URL de origem.
Todos os métodos são definidos por padrão.
Por favor, verifique os detalhes de cada método em mdn web docs.
No Safari, esta opção pode não estar disponível porque a implementação da Apple para o tipo DNR não parece lidar com isso atualmente. Enviamos feedback para a Apple como FB14502272.
Navegadores Alvo
A opção Navegadores Alvo permite que você especifique a qual navegador a regra deve ou não ser aplicada.
- Existem 2 tipos de navegadores que você pode escolher:
- Navegadores que você pode escolher por padrão: Você pode escolher Safari, Chrome, Firefox, Edge, Opera, Arc, Brave e Vivaldi por padrão. Isso não diferencia variantes do mesmo navegador, como Safari e Safari Technology Preview.
- Navegadores especificados pelo usuário: Ao tocar no botão Adicionar no popover, você pode selecionar qualquer navegador diferente de Safari ou Safari Technology Preview que tenha a extensão Redirect Web instalada.
- A caixa de seleção Todos, exceto os selecionados permite que você direcione todos os navegadores, exceto os que você escolheu.
O Redirect Web não consegue diferenciar se o navegador é Safari ou Safari Technology Preview porque o aplicativo verifica o processo pai da extensão para detectá-lo, mas esses dois navegadores compartilham o mesmo processo pai (/sbin/launchd
).
Redirecionar Para
A opção Redirecionar Para especifica uma URL de destino para a qual você deseja redirecionar, a partir da URL de origem correspondida com a opção Redirecionar De. Você também pode substituir grupos de captura com $1
, $2
, ... ou a correspondência inteira com $0
. Isso ajuda você a especificar dinamicamente o destino. Verifique os detalhes em Padrão de URL nesta página.
Por exemplo, se você definir a seguinte regra:
- Redirecionar De:
https://google.com/*
(Curinga) - Redirecionar Para:
https://apple.com/$1
e corresponder a https://google.com/hello
, então a URL de destino será https://apple.com/hello
.
Além disso, você pode modificar os textos de $1
, $2
, ... antes de fazer as substituições. Verifique a seção Processamento de Grupo de Captura para os detalhes.
Você pode especificar um esquema de URL personalizado para abrir um aplicativo. Estes são exemplos de aplicativos que suportam deep linking:
- Figma:
figma://file/Seu_ID_Figma
- Firefox:
firefox://open-url?url=https://example.com/hello
- Google Chrome:
googlechromes://example.com
- Microsoft Edge:
microsoft-edge://example.com
- Notion:
notion://www.notion.so/Seu_ID_da_Nota
- Slack:
slack://open
Aplicativo
Se você deseja especificar um aplicativo para abrir a URL de destino, use a caixa de combinação Aplicativo. Isso está disponível apenas no macOS.
Você só pode abrir um aplicativo que suporte App Sandbox. Além disso, certifique-se de que o aplicativo suporte a abertura da URL que você deseja abrir.
Processamento de Grupo de Captura
A opção Processamento de Grupo de Captura permite que você especifique como processar os grupos capturados que você pode substituir na opção Redirecionar Para com $1
, $2
...
Estas são as formas de criar grupos de captura:
- Curinga: Textos correspondidos com
*
e?
são automaticamente capturados. - Expressão Regular: Textos correspondidos com parte do padrão dentro de
()
são capturados.
Você pode escolher um ou mais dos seguintes processos:
- Codificar/Decodificar URL: Isso aplica codificação percentual ou decodificação a um grupo de captura. Por exemplo, se você codificar
https://example.com/hello
, ele é convertido parahttps%3A%2F%2Fexample.com%2Fhello
. A decodificação funciona da maneira oposta. - Codificar/Decodificar Base64: Isso decodifica/codifica um texto em Base64. Por exemplo, você pode codificar
hello
paraaGVsbG8=
, e decodificá-lo de volta parahello
. - Substituir Ocorrências: Isso substitui um ou mais caracteres em um grupo, correspondidos por um Alvo, por uma Substituição. Por exemplo, se o Grupo for
hello
e o Alvo forl
e a Substituição fory
, ele é modificado paraheyyo
.
Isso é para processar cada grupo de captura e não afeta quais URLs são excluídas pelos Padrões de URL Excluídos. Por exemplo, digamos que você tenha esta regra:
- Redirecionar De:
https://example.com/(hello.*)
- Processamento de Grupo de Captura:
- Grupo:
$1
- Alvo:
.*
(Expressão Regular) - Substituição:
hello
- Grupo:
- Padrão de URL Excluído:
https://example.com/hello
Neste caso, https://example.com/hello_world
não será excluído, enquanto https://example.com/hello
será excluído.
Padrões de URL Excluídos
A opção Padrões de URL Excluídos permite que você especifique as URLs que não são redirecionadas. Isso pode ser útil para evitar loops de redirecionamento ou para excluir certas partes de um site de serem redirecionadas.
Você pode especificar padrões de URL excluídos usando tipos de padrão de Expressão Regular ou Curinga.
Exemplos
A opção Exemplos permite que você teste sua regra de redirecionamento fornecendo URLs de exemplo. Ao adicionar uma URL de exemplo, você pode verificar se a regra funciona como esperado antes de realmente aplicá-la.
Comentários
A opção Comentários permite que você adicione quaisquer notas ou comentários sobre sua regra de redirecionamento. Isso pode ser útil para acompanhar o motivo pelo qual você criou uma regra específica ou para fornecer contexto para outras pessoas que possam visualizar suas regras.
Padrão de URL
Existem 3 opções que você pode especificar um ou mais padrões de URL. Redirecionar De, Padrões de URL Excluídos e Processamento de Grupo de Captura. Para especificá-los, você pode escolher Curinga ou Expressão Regular.
Curinga
Curinga é um tipo de padrão mais simples que permite usar *
(corresponde a qualquer coisa) e ?
(corresponde a qualquer caractere único) como curingas. Aqui estão alguns exemplos:
- Para corresponder a
https://example.com/hello
, você pode usarhttps://example.com/*
. Isso corresponderá a qualquer string apóshttps://example.com/
. - Para corresponder a
https://example.com/search?q=hello
, você pode usarhttps://example.com/search?q=*
. Isso corresponderá a qualquer valor para o parâmetroq
. - Para corresponder a qualquer URL que contenha a palavra
blog
, você pode usar*blog*
.
Você também pode usar substituição em Curinga, o que significa que você pode referenciar partes da URL correspondida usando $1
, $2
, etc. Por exemplo, se você usar https://example.com/*-world-*
, e a URL for https://example.com/hello-world-goodbye
, então $1
seria "hello" e $2
seria "goodbye". $0
também está disponível para referenciar a URL inteira correspondida.
Embora a substituição seja um recurso de Expressão Regular, você também pode usá-la para Curinga porque o Redirect Web converte internamente Curinga para Expressão Regular.
Expressão Regular
Expressão Regular (Regex) é uma ferramenta poderosa para corresponder padrões em texto, alimentada pelo mecanismo de expressão regular da Apple, que é descrito aqui. Ele permite que você defina um padrão específico que corresponde a um conjunto de strings. Aqui estão alguns exemplos.
- Para corresponder a
https://example.com/hello
, você pode usarhttps://example.com/(.*)
. Isso corresponderá a qualquer string apóshttps://example.com/
e a armazenará em um grupo de captura. - Para corresponder a
https://example.com/search?q=hello
, você pode usarhttps://example.com/search\?q=(.*)
. Isso corresponderá ao valor do parâmetroq
e o armazenará em um grupo de captura. - Para corresponder a qualquer URL que contenha a palavra
blog
, você pode usar.*blog.*
.
Você pode referenciar os grupos de captura em Redirecionar Para ou Substituição usando $1
, $2
, ... ou $0
para referenciar a correspondência inteira.
Mais informações sobre a sintaxe Regex podem ser encontradas em recursos como RegExr.