Saltar para o conteúdo principal

Definições de Regras

Esta página fornece informações detalhadas sobre cada definição no ecrã de Edição de Regras na aplicação web 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)
    • Este tipo usa APIs Web tradicionais para controlar o redirecionamento. Adicionalmente, usa a API de Tabs como alternativa.
    • Pode usar todas as opções, exceto Tipos de Recursos e Métodos de Pedido.
    • Este tipo é mais lento do que o tipo Declarative e pode causar pedidos de rede adicionais.
  • DNR (Experimental para Safari):
    • Este tipo funciona muito mais rapidamente do que o tipo Original porque não inicia um pedido de rede para o URL de origem.
    • Isto permite-lhe especificar Tipos de Recursos 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 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 apresenta alguns problemas, consideramos que é uma funcionalidade ainda 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 Máscara ou Expressão Regular.

Por exemplo, se especificar https://example.com/* com Máscara, corresponde a https://example.com/ ou https://example.com/hello.

note

Na opção Redirecionar Para, pode fazer referência à correspondência completa usando $0 ou a correspondências parciais usando $1, $2, ... Verifique os detalhes em Padrão de URL nesta página.

Tipos de Recursos

Tipos Suportados: DNR

A opção Tipos de Recursos 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, estes 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 na documentação web da mdn.

Métodos de Pedido

Tipos Suportados: DNR

A opção Métodos de Pedido permite-lhe definir os métodos HTTP alvo do URL de origem.

Todos os métodos são definidos por predefinição.

Por favor, verifique os detalhes de cada método na documentação web da mdn.

warning

No Safari, esta opção pode não estar disponível porque a implementação da Apple para o tipo DNR não parece tratá-la atualmente. Enviámos feedback à Apple como FB14502272.

Navegadores Alvo

Plataformas Suportadas: macOS

A opção Navegadores Alvo 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 na popover, 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-lhe direcionar todos os navegadores, exceto os que escolheu.
warning

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 pretende redirecionar, a partir do URL de origem correspondido com a opção Redirecionar De. Pode também substituir grupos de captura com $1, $2, ... ou a correspondência completa 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/* (Máscara)
  • 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.

tip

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

Tipos Suportados: Original Plataformas Suportadas: macOS

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.

warning

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 deseja abrir.

Processamento de Grupos de Captura

Tipos Suportados: Original

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 fazer grupos de captura:

  • Máscara: Os textos correspondidos com * e ? são automaticamente capturados.
  • Expressão Regular: Os textos correspondidos com parte do padrão dentro de () são capturados.

Pode escolher um ou mais dos seguintes processos:

  • Codificar/Decodificar URL: Isto aplica codificação por percentagem ou decodificação a um grupo de captura. Por exemplo, se codificar https://example.com/hello, é convertido para https%3A%2F%2Fexample.com%2Fhello. A decodificação funciona de forma oposta.
  • Codificar/Decodificar Base64: Isto decodifica/codifica um texto para Base64. Por exemplo, pode codificar hello para aGVsbG8=, e decodificá-lo de volta para hello.
  • 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 for l e a Substituição for y, é modificado para heyyo.
note

Isto destina-se a processar cada grupo de captura e não afeta os URLs que são excluídos pelos Padrões de URL Excluídos. Por exemplo, vamos supor que tem esta regra:

  • Redirecionar De: https://example.com/(hello.*)
  • Processamento de Grupos de Captura:
    • Grupo: $1
    • Alvo: .* (Expressão Regular)
    • Substituição: hello
  • 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

Tipos Suportados: Original

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 Máscara.

Exemplos

A opção Exemplos permite-lhe testar a sua regra de redirecionamento, fornecendo URLs de amostra. Ao adicionar um URL de amostra, pode verificar se a regra funciona como esperado antes de a aplicar de facto.

Comentários

A opção Comentários permite-lhe adicionar quaisquer notas ou observações sobre a sua regra de redirecionamento. Isto pode ser útil para acompanhar o motivo pelo qual criou uma regra específica ou para fornecer contexto a outras pessoas que possam ver as suas regras.

Padrão de URL

Existem 3 opções nas quais 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, pode escolher entre Máscara ou Expressão Regular.

Máscara

Máscara é um tipo de padrão mais simples que permite usar * (corresponde a qualquer coisa) e ? (corresponde a qualquer caractere único) como máscaras. Aqui estão alguns exemplos:

  • Para corresponder a https://example.com/hello, pode usar https://example.com/*. Isto corresponderá a qualquer string após https://example.com/.
  • Para corresponder a https://example.com/search?q=hello, pode usar https://example.com/search?q=*. Isto corresponderá a qualquer valor para o parâmetro q.
  • Para corresponder a qualquer URL que contenha a palavra blog, pode usar *blog*.

Também pode usar substituição em Máscara, o que significa que pode fazer referência a 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 fazer referência ao URL correspondido na íntegra.

[!Note] Embora a substituição seja uma funcionalidade de Expressão Regular, também pode usá-la para Máscara porque o Redirect Web converte internamente Máscara 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ões regulares 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 usar https://example.com/(.*). Isto corresponderá a qualquer string após https://example.com/ e irá armazená-la num grupo de captura.
  • Para corresponder a https://example.com/search?q=hello, pode usar https://example.com/search\?q=(.*). Isto corresponderá ao valor do parâmetro q e irá armazená-lo num grupo de captura.
  • Para corresponder a qualquer URL que contenha a palavra blog, pode usar .*blog.*.

Pode fazer referência aos grupos de captura em Redirecionar Para ou Substituição usando $1, $2, ... ou $0 para fazer referência à correspondência completa.

Mais informações sobre a sintaxe de Regex podem ser encontradas em recursos como o RegExr.