Impostazioni delle regole
Questa pagina fornisce informazioni dettagliate su ogni impostazione nella schermata Modifica regola nell'app Redirect Web.
Opzioni
Tipo
Specifica l'opzione Tipo per controllare come l'app gestisce il reindirizzamento. Puoi scegliere tra questi:
- Originale (Predefinito)
- Questo utilizza le tradizionali API Web per controllare il reindirizzamento. Inoltre, utilizza l'API Tabs come fallback.
- In Firefox, utilizza l'API WebRequest per gestire il reindirizzamento.
- Puoi utilizzare tutte le opzioni diverse da Tipi di risorse e Metodi di richiesta.
- Questo è più lento del tipo Dichiarativo e potrebbe causare richieste di rete extra.
- Questo utilizza le tradizionali API Web per controllare il reindirizzamento. Inoltre, utilizza l'API Tabs come fallback.
- DNR (Sperimentale per Safari):
- Questo tipo funziona molto più velocemente del tipo Originale perché non avvia una richiesta di rete per l'URL di origine.
- Questo ti consente di specificare Tipi di risorse e Metodi di richiesta.
- ⚠️ Non puoi utilizzare alcune opzioni, come Elaborazione gruppo di acquisizione e Pattern URL esclusi poiché non sono ancora state supportate dall'API DNR.
- ⚠️ In Safari, attualmente non puoi includere pipe (
|
) nel tuo pattern di espressione regolare. Dettagli - ⚠️ Poiché l'API DNR di Safari ha ancora alcuni problemi, consideriamo che sia ancora una funzionalità sperimentale per Safari. Puoi trovare l'elenco di tutti i problemi noti qui.
Reindirizza da
L'opzione Reindirizza da ti consente di specificare un pattern URL delle pagine web da cui desideri reindirizzare. Puoi scegliere tra Carattere jolly o Espressione regolare.
Ad esempio, se specifichi https://example.com/*
con Carattere jolly, corrisponde a https://example.com/
o https://example.com/hello
.
Nell'opzione Reindirizza a, puoi fare riferimento all'intera corrispondenza usando $0
o corrispondenze parziali usando $1
, $2
, ... Controlla i dettagli in Pattern URL in questa pagina.
Tipi di risorse
L'opzione Tipi di risorse ti consente di specificare le categorie di richieste web, come immagini, JavaScript e fogli di stile, a cui si applica la regola.
Ad esempio, se imposti script
, puoi reindirizzare i file JavaScript caricati dalle pagine web.
Attualmente, questi sono disponibili:
main_frame
, sub_frame
, stylesheet
, script
, image
, font
, xmlhttprequest
, ping
, media
, websocket
, other
L'impostazione predefinita è main_frame
, che è la pagina di livello superiore caricata in una scheda.
Please check the details of each resource type in mdn web docs.
Metodi di richiesta
L'opzione Metodi di richiesta ti consente di impostare i metodi HTTP di destinazione dell'URL di origine.
Tutti i metodi sono impostati per impostazione predefinita.
Please check the details of each method in mdn web docs.
In Safari, questa opzione potrebbe non essere disponibile perché l'implementazione di Apple per il tipo DNR non sembra gestirla attualmente. Abbiamo inviato feedback ad Apple come FB14502272.
Browser di destinazione
L'opzione Browser di destinazione ti consente di specificare a quale browser la regola dovrebbe o non dovrebbe essere applicata.
- Ci sono 2 tipi di browser che puoi scegliere:
- Browser che puoi scegliere per impostazione predefinita: Puoi scegliere Safari, Chrome, Firefox, Edge, Opera, Arc, Brave e Vivaldi per impostazione predefinita. Questo non differenzia le varianti dello stesso browser, come Safari e Safari Technology Preview.
- Browser specificati dall'utente: Toccando il pulsante Aggiungi nel popover, puoi selezionare qualsiasi browser diverso da Safari o Safari Technology Preview che abbia l'estensione Redirect Web installata.
- La casella di controllo Tutti tranne i selezionati ti consente di scegliere come target ogni browser tranne quelli che hai scelto.
Redirect Web non può differenziare se il browser è Safari o Safari Technology Preview perché l'app controlla il processo padre dell'estensione per rilevarlo, ma questi due browser condividono lo stesso processo padre (/sbin/launchd
).
Reindirizza a
L'opzione Reindirizza a specifica un URL di destinazione a cui desideri reindirizzare, dall'URL di origine corrispondente all'opzione Reindirizza da. Puoi anche sostituire i gruppi di acquisizione con $1
, $2
, ... o l'intera corrispondenza con $0
. Questi ti aiutano a specificare dinamicamente la destinazione. Controlla i dettagli in Pattern URL in questa pagina.
Ad esempio, se imposti la seguente regola:
- Reindirizza da:
https://google.com/*
(Carattere jolly) - Reindirizza a:
https://apple.com/$1
e corrisponde a https://google.com/hello
, allora l'URL di destinazione sarà https://apple.com/hello
.
Inoltre, puoi modificare i testi di $1
, $2
, ... prima di effettuare le sostituzioni. Controlla la sezione Elaborazione gruppo di acquisizione per i dettagli.
Puoi specificare uno schema URL personalizzato per aprire un'app. Questi sono esempi di app che supportano il 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
Applicazione
Se desideri specificare un'app in cui desideri aprire l'URL di destinazione, utilizza la casella combinata Applicazione. Questa è disponibile solo su macOS.
Puoi aprire solo un'app che supporta App Sandbox. Inoltre, assicurati che l'app supporti l'apertura dell'URL che desideri aprire.
Elaborazione gruppo di acquisizione
L'opzione Elaborazione gruppo di acquisizione ti consente di specificare come elaborare i gruppi acquisiti che puoi sostituire nell'opzione Reindirizza a con $1
, $2
...
Ecco come creare gruppi di acquisizione:
- Carattere jolly: I testi corrispondenti a
*
e?
vengono acquisiti automaticamente. - Espressione regolare: I testi corrispondenti a parte del pattern all'interno di
()
vengono acquisiti.
Puoi scegliere uno o più dei seguenti processi:
- Codifica/Decodifica URL: Questo applica la codifica percentuale o la decodifica a un gruppo di acquisizione. Ad esempio, se codifichi
https://example.com/hello
, viene convertito inhttps%3A%2F%2Fexample.com%2Fhello
. La decodifica funziona in modo opposto. - Codifica/Decodifica Base64: Questo decodifica/codifica un testo in Base64. Ad esempio, puoi codificare
hello
inaGVsbG8=
, e decodificarlo di nuovo inhello
. - Sostituisci occorrenze: Questo sostituisce uno o più caratteri in un gruppo, corrispondenti a un Target, con una Sostituzione. Ad esempio, se il Gruppo è
hello
e il Target èl
e la Sostituzione èy
, viene modificato inheyyo
.
Questo serve per elaborare ogni gruppo di acquisizione e non influisce sugli URL esclusi dai Pattern URL esclusi. Ad esempio, supponiamo di avere questa regola:
- Reindirizza da:
https://example.com/(hello.*)
- Elaborazione gruppo di acquisizione:
- Gruppo:
$1
- Target:
.*
(Espressione regolare) - Sostituzione:
hello
- Gruppo:
- Pattern URL escluso:
https://example.com/hello
In questo caso, https://example.com/hello_world
non verrà escluso mentre https://example.com/hello
verrà escluso.
Pattern URL esclusi
L'opzione Pattern URL esclusi ti consente di specificare gli URL che non vengono reindirizzati. Questo può essere utile per evitare loop di reindirizzamento o per escludere determinate parti di un sito web dal reindirizzamento.
Puoi specificare pattern URL esclusi utilizzando i tipi di pattern Espressione regolare o Carattere jolly.
Esempi
L'opzione Esempi ti consente di testare la tua regola di reindirizzamento fornendo URL di esempio. Aggiungendo un URL di esempio, puoi verificare se la regola funziona come previsto prima di applicarla effettivamente.
Commenti
L'opzione Commenti ti consente di aggiungere note o commenti sulla tua regola di reindirizzamento. Questo può essere utile per tenere traccia del motivo per cui hai creato una regola specifica o per fornire contesto ad altri che potrebbero visualizzare le tue regole.
Pattern URL
Ci sono 3 opzioni in cui puoi specificare uno o più pattern URL. Reindirizza da, Pattern URL esclusi e Elaborazione gruppo di acquisizione. Per specificarli, puoi scegliere tra Carattere jolly o Espressione regolare.
Carattere jolly
Carattere jolly è un tipo di pattern più semplice che ti consente di utilizzare *
(corrisponde a qualsiasi cosa) e ?
(corrisponde a qualsiasi singolo carattere) come caratteri jolly. Ecco alcuni esempi:
- Per corrispondere a
https://example.com/hello
, puoi usarehttps://example.com/*
. Questo corrisponderà a qualsiasi stringa dopohttps://example.com/
. - Per corrispondere a
https://example.com/search?q=hello
, puoi usarehttps://example.com/search?q=*
. Questo corrisponderà a qualsiasi valore per il parametroq
. - Per corrispondere a qualsiasi URL che contiene la parola
blog
, puoi usare*blog*
.
You can also use substitution in Wildcard as well, which means you can reference portions of the matched URL using $1
, $2
, etc. For example, if you use https://example.com/*-world-*
, and the URL is https://example.com/hello-world-goodbye
, then $1
would be "hello" and $2
would be "goodbye". $0
is also available to reference the entire URL matched.
Sebbene la sostituzione sia una funzionalità dell'Espressione regolare, puoi usarla anche per Carattere jolly perché Redirect Web converte internamente Carattere jolly in Espressione regolare.
Espressione regolare
Espressione regolare (Regex) è uno strumento potente per la corrispondenza di pattern nel testo, alimentato dal motore di espressioni regolari di Apple descritto qui. Ti consente di definire un pattern specifico che corrisponde a un set di stringhe. Ecco alcuni esempi.
- Per corrispondere a
https://example.com/hello
, puoi usarehttps://example.com/(.*)
. Questo corrisponderà a qualsiasi stringa dopohttps://example.com/
e la memorizzerà in un gruppo di acquisizione. - Per corrispondere a
https://example.com/search?q=hello
, puoi usarehttps://example.com/search\?q=(.*)
. Questo corrisponderà al valore del parametroq
e lo memorizzerà in un gruppo di acquisizione. - Per corrispondere a qualsiasi URL che contiene la parola
blog
, puoi usare.*blog.*
.
You can reference the capturing groups in Reindirizza a or Sostituzione using $1
, $2
, ... or $0
to reference the entire match.
Maggiori informazioni sulla sintassi Regex possono essere trovate in risorse come RegExr.