Configurações de Regras
Esta página fornece informações detalhadas de cada configuração no ecrã Editar Regra na aplicação Redirect Web.
Opções
Tipo
Especifique a opção Tipo para controlar como a aplicação lida com o redirecionamento. Pode escolher entre:
- Original (Padrão)
- Isto 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.
- Pode usar todas as opções, exceto Tipos de Recurso e Métodos de Pedido.
- Isto é mais lento do que o tipo Declarativo e pode causar pedidos de rede extras.
- Isto 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 do que o tipo Original porque não inicia um pedido de rede para o URL de origem.
- Isto permite-lhe especificar Tipos de Recurso e Métodos de Pedido.
- ⚠️ Não pode usar algumas opções, como Processamento de Grupo de Captura e Padrões de URL Excluídos, uma vez que ainda não foram suportadas pela API DNR.
- ⚠️ No Safari, atualmente não pode incluir pipes (
|
) no seu padrão de Expressão Regular. Detalhes - ⚠️ Uma vez que a API DNR do Safari ainda tem alguns problemas, consideramos que ainda é uma funcionalidade experimental para o Safari. Pode encontrar a lista de todos os problemas conhecidos aqui.
Redirecionar De
A opção Redirecionar De permite-lhe especificar um padrão de URL de páginas web das quais pretende redirecionar. Pode escolher entre Curinga ou Expressão Regular.
Por exemplo, se especificar https://example.com/*
com Curinga, ele corresponde a https://example.com/
ou https://example.com/hello
.
Na opção Redirecionar Para, 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-lhe especificar as categorias de pedidos web, como imagens, JavaScripts e folhas de estilo, às quais a regra se aplica.
Por exemplo, se definir script
, pode redirecionar os ficheiros JavaScript carregados pelas páginas web.
Atualmente, 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 numa aba.
Por favor, verifique os detalhes de cada tipo de recurso em mdn web docs.
Métodos de Pedido
A opção Métodos de Pedido permite-lhe definir os métodos HTTP de destino do 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 à Apple como FB14502272.
Navegadores Alvo
A opção Navegadores Alvo permite-lhe especificar a qual navegador a regra deve ou não ser aplicada.
- Existem 2 tipos de navegadores que pode escolher:
- Navegadores que pode escolher por padrão: Pode escolher Safari, Chrome, Firefox, Edge, Opera, Arc, Brave e Vivaldi por padrão. Isto não diferencia variantes do mesmo navegador, como Safari e Safari Technology Preview.
- Navegadores especificados pelo utilizador: Ao tocar no botão Adicionar no popover, pode selecionar qualquer navegador que não seja Safari ou Safari Technology Preview que tenha a extensão Redirect Web instalada.
- A caixa de seleção Todos, exceto os selecionados permite-lhe direcionar todos os navegadores, exceto os que escolheu.
O Redirect Web não consegue diferenciar se o navegador é Safari ou Safari Technology Preview porque a aplicação verifica o processo pai da extensão para detetá-lo, mas estes dois navegadores partilham o mesmo processo pai (/sbin/launchd
).
Redirecionar Para
A opção Redirecionar Para especifica um URL de destino para o qual deseja redirecionar, a partir do URL de origem correspondido com a opção Redirecionar De. Também pode substituir grupos de captura com $1
, $2
, ... ou a correspondência inteira com $0
. Estes ajudam-no a especificar dinamicamente o destino. Verifique os detalhes em Padrão de URL nesta página.
Por exemplo, se 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 o URL de destino será https://apple.com/hello
.
Além disso, pode modificar os textos de $1
, $2
, ... antes de fazer substituições. Verifique a secção Processamento de Grupo de Captura para os detalhes.
Pode especificar um esquema de URL personalizado para abrir uma aplicação. Estes são exemplos de aplicações 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
Aplicação
Se quiser especificar uma aplicação para abrir o URL de destino, use a caixa de combinação Aplicação. Isto só está disponível no macOS.
Só pode abrir uma aplicação que suporte App Sandbox. Além disso, certifique-se de que a aplicação suporta a abertura do URL que pretende abrir.
Processamento de Grupo de Captura
A opção Processamento de Grupo de Captura permite-lhe especificar como processar os grupos capturados que 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.
Pode escolher um ou mais dos seguintes processos:
- Codificar/Descodificar URL: Isto aplica codificação percentual ou descodificação a um grupo de captura. Por exemplo, se codificar
https://example.com/hello
, é convertido parahttps%3A%2F%2Fexample.com%2Fhello
. A descodificação funciona de forma oposta. - Codificar/Descodificar Base64: Isto descodifica/codifica um texto em Base64. Por exemplo, pode codificar
hello
paraaGVsbG8=
, e descodificá-lo de volta parahello
. - Substituir Ocorrências: Isto substitui um ou mais caracteres num 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
, é modificado paraheyyo
.
Isto é para processar cada grupo de captura e não afeta quais URLs são excluídos pelos Padrões de URL Excluídos. Por exemplo, digamos que tem 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-lhe especificar os URLs que não são redirecionados. Isto pode ser útil para evitar loops de redirecionamento ou para excluir certas partes de um website de serem redirecionadas.
Pode especificar padrões de URL excluídos usando tipos de padrão Expressão Regular ou Curinga.
Exemplos
A opção Exemplos permite-lhe testar a sua regra de redirecionamento fornecendo URLs de exemplo. Ao adicionar um URL de exemplo, pode verificar se a regra funciona como esperado antes de a aplicar.
Comentários
A opção Comentários permite-lhe adicionar quaisquer notas ou comentários sobre a sua regra de redirecionamento. Isto pode ser útil para manter o registo do porquê de ter criado uma regra específica ou para fornecer contexto para outros que possam ver as suas regras.
Padrão de URL
Existem 3 opções onde 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, pode escolher entre Curinga ou Expressão Regular.
Curinga
Curinga é um tipo de padrão mais simples que lhe 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
, pode usarhttps://example.com/*
. Isto corresponderá a qualquer string depois dehttps://example.com/
. - Para corresponder a
https://example.com/search?q=hello
, pode usarhttps://example.com/search?q=*
. Isto corresponderá a qualquer valor para o parâmetroq
. - Para corresponder a qualquer URL que contenha a palavra
blog
, pode usar*blog*
.
Também pode usar substituição em Curinga, o que significa que pode referenciar partes do URL correspondido usando $1
, $2
, etc. Por exemplo, se usar https://example.com/*-world-*
, e o 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 o URL inteiro correspondido.
Embora a substituição seja uma funcionalidade da Expressão Regular, 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 motor de expressão regular da Apple, que é descrito aqui. Permite-lhe definir um padrão específico que corresponde a um conjunto de strings. Aqui estão alguns exemplos.
- Para corresponder a
https://example.com/hello
, pode usarhttps://example.com/(.*)
. Isto corresponderá a qualquer string depois dehttps://example.com/
e armazená-la num grupo de captura. - Para corresponder a
https://example.com/search?q=hello
, pode usarhttps://example.com/search\?q=(.*)
. Isto corresponderá ao valor do parâmetroq
e armazená-lo-á num grupo de captura. - Para corresponder a qualquer URL que contenha a palavra
blog
, pode usar.*blog.*
.
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.