Definições da Regra
Esta página fornece informações detalhadas sobre cada definiçã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 estas:
- Original (Predefinição)
- Isto usa APIs Web tradicionais para controlar o redirecionamento. Adicionalmente, usa a API Tabs como alternativa.
- 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 adicionais.
- Isto usa APIs Web tradicionais para controlar o redirecionamento. Adicionalmente, usa a API Tabs como alternativa.
- 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 Grupos de Captura e Padrões de URL Excluídos, uma vez que ainda não são 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 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 completa 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 definição predefinida é main_frame
, que é a página de nível superior carregada num separador.
Por favor, verifique os detalhes de cada tipo de recurso nos 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 predefinição.
Por favor, 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 não parece lidar com ela atualmente. Enviámos feedback à Apple como FB14502272.
Navegadores de Destino
A opção Navegadores de Destino permite-lhe especificar a que navegador a regra deve ou não ser aplicada.
- Existem 2 tipos de navegadores que pode escolher:
- Navegadores que pode escolher por predefinição: Pode escolher Safari, Chrome, Firefox, Edge, Opera, Arc, Brave e Vivaldi por predefiniçã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 o detetar, 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 por $1
, $2
, ... ou a correspondência completa por $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
.
Adicionalmente, pode modificar os textos de $1
, $2
, ... antes de fazer as substituições. Verifique a secção Processamento de Grupos 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 Grupos de Captura
A opção Processamento de Grupos 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 destina-se a 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 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-lhe especificar os URLs que não são redirecionados. Isto pode ser útil para evitar ciclos 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 de 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 um registo do porquê de ter criado uma regra específica ou para fornecer contexto para outros que possam ver as suas regras.
Pode escrever comentários nos seguintes formatos:
- Texto Simples (Predefinição): Texto simples sem qualquer formatação.
- Markdown: Pode usar as sintaxes Markdown do GitHub, incluindo algumas extensões que o GFM não suporta. Por exemplo, pode criar títulos, listas, links e muito mais.
- AsciiDoc: Pode usar as sintaxes AsciiDoc para formatar os seus comentários.
Padrão de URL
Padrões de URL são usados para corresponder URLs nas opções Redirecionar De, Padrões de URL Excluídos e Processamento de Grupos de Captura. Para os especificar, pode escolher 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
https://example.com/hello
, pode usarhttps://example.com/*
. Isto corresponderá a qualquer string apóshttps://example.com/
. - Para corresponder
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 completo 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 e também é amplamente usada em programação. Permite-lhe definir um padrão específico que corresponde a um conjunto de strings. Aqui estão alguns exemplos.
- Para corresponder
https://example.com/hello
, pode usarhttps://example.com/.*
. Isto corresponderá a qualquer string apóshttps://example.com/
. - Para corresponder
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. Pode então referenciá-lo usando$1
na opção Redirecionar Para. - 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 completa.
O Redirect Web é alimentado pelo motor Regex da Apple.
Mais informações sobre a sintaxe Regex podem ser encontradas em recursos como RegExr.