Configurações da Regra
Esta página fornece informações detalhadas de cada configuração na tela Editar Regra do aplicativo Redirect Web.
Opções
Tipo
Especifique a opção Tipo para controlar como o aplicativo lida com o redirecionamento. Você pode escolher entre estas opções:
- Original (Padrão)
- Este usa APIs Web tradicionais para controlar o redirecionamento. Além disso, ele usa a API Tabs como um fallback.
- No Firefox, ele usa a API WebRequest para lidar com o redirecionamento.
- Você pode usar todas as opções, exceto Tipos de Recursos e Métodos de Requisição.
- Este é mais lento que o tipo Declarativo e pode causar requisições de rede extras.
- Este usa APIs Web tradicionais para controlar o redirecionamento. Além disso, ele usa a API Tabs como um 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 Recursos e Métodos de Requisição.
- ⚠️ Você não pode usar algumas opções, como Processamento de Grupos de Captura e Padrões de URL Excluídos, pois elas 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 apresenta 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 web das quais você deseja redirecionar. Você pode escolher entre 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 Recursos
A opção Tipos de Recursos permite que você especifique as categorias de requisições web, como imagens, JavaScripts e folhas de estilo, às quais a regra se aplica.
Por exemplo, se você definir script
, poderá redirecionar os arquivos JavaScript carregados pelas páginas web.
Atualmente, estes estão disponíveis:
main_frame
, sub_frame
, stylesheet
, script
, image
, font
, xmlhttprequest
, ping
, media
, websocket
, other
A configuração padrão é main_frame
, que é a página de nível superior carregada em uma aba.
Verifique os detalhes de cada tipo de recurso nos 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.
Verifique os detalhes de cada método nos mdn web docs.
No Safari, esta opção pode não estar disponível porque a implementação da Apple para o tipo DNR atualmente não parece lidar com ela. 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, exceto 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ê defina como alvo 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 por $1
, $2
, ... ou a correspondência inteira por $0
. Isso ajuda 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 ele 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 Grupos de Captura para mais 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/Your_Figma_ID
- 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/Your_Note_ID
- 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 Grupos de Captura
A opção Processamento de Grupos 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 percent-encoding 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 de forma oposta. - Codificar/Decodificar Base64: Isso decodifica/codifica um texto para 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 serve 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 Grupos 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 serão redirecionadas. Isso pode ser útil para evitar loops de redirecionamento ou para excluir certas partes de um website 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 registrar 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 onde você pode especificar um ou mais padrões de URL: Redirecionar De, Padrões de URL Excluídos e Processamento de Grupos de Captura. Para especificá-los, você pode escolher entre 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 toda a URL correspondida.
[!Note] 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, impulsionada pelo motor de expressões regulares da Apple, que é descrito aqui. Ela 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 de Regex podem ser encontradas em recursos como RegExr.