Impostazioni Regola
Questa pagina fornisce informazioni dettagliate su ogni impostazione nella schermata Modifica Regola dell'app web Redirect.
Opzioni
Tipo
Specificare l'opzione Tipo per controllare il modo in cui l'app gestisce il reindirizzamento. È possibile scegliere tra queste opzioni:
- Originale (Predefinito)
- Utilizza le API web tradizionali per controllare il reindirizzamento. Inoltre, usa l'API Tabs come soluzione di ripiego (fallback).
- In Firefox, utilizza l'API WebRequest per gestire il reindirizzamento.
- È possibile utilizzare tutte le opzioni tranne Tipi di Risorsa e Metodi di Richiesta.
- Questo è più lento del tipo Dichiarativo e potrebbe causare richieste di rete extra.
- Utilizza le API web tradizionali per controllare il reindirizzamento. Inoltre, usa l'API Tabs come soluzione di ripiego (fallback).
- DNR (Sperimentale per Safari):
- Questo tipo funziona molto più velocemente del tipo Originale perché non avvia una richiesta di rete per l'URL sorgente.
- Consente di specificare Tipi di Risorsa e Metodi di Richiesta.
- ⚠️ Non è possibile utilizzare alcune opzioni, come Elaborazione Gruppi di Cattura e Pattern URL Esclusi, poiché non sono ancora state supportate dall'API DNR.
- ⚠️ In Safari, attualmente non è possibile includere pipe (
|
) nel pattern dell'Espressione Regolare. Dettagli - ⚠️ Poiché l'API DNR di Safari presenta ancora alcuni problemi, consideriamo che sia ancora una funzionalità sperimentale per Safari. È possibile trovare l'elenco di tutti i problemi noti qui.
Reindirizza Da
L'opzione Reindirizza Da consente di specificare un pattern URL delle pagine web da cui si desidera reindirizzare. È possibile scegliere tra Wildcard o Espressione Regolare.
Ad esempio, se si specifica https://example.com/*
con Wildcard, corrisponde a https://example.com/
o https://example.com/hello
.
Nell'opzione Reindirizza A, è possibile fare riferimento all'intera corrispondenza usando $0
o corrispondenze parziali usando $1
, $2
, ... Controlla i dettagli in Pattern URL su questa pagina.
Tipi di Risorsa
L'opzione Tipi di Risorsa consente di specificare le categorie di richieste web, come immagini, JavaScript e fogli di stile, a cui si applica la regola.
Ad esempio, se si imposta script
, è possibile reindirizzare i file JavaScript caricati dalle pagine web.
Attualmente, 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.
Si prega di verificare i dettagli di ciascun tipo di risorsa nella documentazione web di mdn.
Metodi di Richiesta
L'opzione Metodi di Richiesta consente di impostare i metodi HTTP di destinazione dell'URL sorgente.
Tutti i metodi sono impostati per impostazione predefinita.
Si prega di verificare i dettagli di ciascun metodo nella documentazione web di mdn.
In Safari, questa opzione potrebbe non essere disponibile perché l'implementazione di Apple per il tipo DNR non sembra gestirla attualmente. Abbiamo inviato un feedback ad Apple come FB14502272.
Browser di Destinazione
L'opzione Browser di Destinazione consente di specificare a quale browser la regola debba o non debba essere applicata.
- Ci sono 2 tipi di browser che puoi scegliere:
- Browser selezionabili 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 sul popover, puoi selezionare qualsiasi browser diverso da Safari o Safari Technology Preview che abbia installato l'estensione Redirect Web.
- La casella di controllo Tutti tranne quelli selezionati ti consente di scegliere come target tutti i browser eccetto quelli che hai selezionato.
Redirect Web non può distinguere 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 si desidera reindirizzare, dall'URL sorgente corrispondente all'opzione Reindirizza Da. È anche possibile sostituire i gruppi di cattura con $1
, $2
, ... o l'intera corrispondenza con $0
. Questi aiutano a specificare dinamicamente la destinazione. Controlla i dettagli in Pattern URL in questa pagina.
Ad esempio, se si imposta la seguente regola:
- Reindirizza Da:
https://google.com/*
(Wildcard) - Reindirizza A:
https://apple.com/$1
e corrisponde a https://google.com/hello
, allora l'URL di destinazione sarà https://apple.com/hello
.
Inoltre, è possibile modificare i testi di $1
, $2
, ... prima di effettuare le sostituzioni. Controlla la sezione Elaborazione Gruppi di Cattura 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 si desidera specificare un'app con cui si desidera aprire l'URL di destinazione, utilizzare la casella combinata Applicazione. Questa è disponibile solo su macOS.
È possibile aprire solo un'app che supporta App Sandbox. Inoltre, assicurarsi che l'app supporti l'apertura dell'URL che si desidera aprire.
Elaborazione Gruppi di Cattura
L'opzione Elaborazione Gruppi di Cattura consente di specificare come elaborare i gruppi catturati che è possibile sostituire nell'opzione Reindirizza A con $1
, $2
...
Ecco come creare gruppi di cattura:
- Wildcard: I testi che corrispondono a
*
e?
vengono catturati automaticamente. - Espressione Regolare: I testi che corrispondono a parte del pattern all'interno di
()
vengono catturati.
È possibile scegliere uno o più dei seguenti processi:
- Codifica/Decodifica URL: Questo applica la percent-encoding o la decodifica a un gruppo di cattura. Ad esempio, se si codifica
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, è possibile codificare
hello
inaGVsbG8=
, e decodificarlo di nuovo inhello
. - Sostituisci Occorrenze: Questo sostituisce uno o più caratteri in un gruppo, corrispondenti a un Target, con un 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 cattura e non influisce su quali URL sono esclusi dai Pattern URL Esclusi. Ad esempio, supponiamo di avere questa regola:
- Reindirizza Da:
https://example.com/(hello.*)
- Elaborazione Gruppi di Cattura:
- Gruppo:
$1
- Target:
.*
(Espressione Regolare) - Sostituzione:
hello
- Gruppo:
- Pattern URL Escluso:
https://example.com/hello
In questo caso, https://example.com/hello_world
non sarà escluso, mentre https://example.com/hello
sarà escluso.
Pattern URL Esclusi
L'opzione Pattern URL Esclusi 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.
È possibile specificare i pattern URL esclusi utilizzando tipi di pattern Espressione Regolare o Wildcard.
Esempi
L'opzione Esempi consente di testare la regola di reindirizzamento fornendo URL di esempio. Aggiungendo un URL di esempio, è possibile verificare se la regola funziona come previsto prima di applicarla effettivamente.
Commenti
L'opzione Commenti consente di aggiungere note o commenti sulla regola di reindirizzamento. Questo può essere utile per tenere traccia del motivo per cui è stata creata una regola specifica o per fornire contesto ad altri che potrebbero visualizzare le regole.
Pattern URL
Ci sono 3 opzioni in cui è possibile specificare uno o più pattern URL: Reindirizza Da, Pattern URL Esclusi e Elaborazione Gruppi di Cattura. Per specificarli, è possibile scegliere Wildcard o Espressione Regolare.
Wildcard
Wildcard è un tipo di pattern più semplice che 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
, è possibile utilizzarehttps://example.com/*
. Questo corrisponderà a qualsiasi stringa dopohttps://example.com/
. - Per corrispondere a
https://example.com/search?q=hello
, è possibile utilizzarehttps://example.com/search?q=*
. Questo corrisponderà a qualsiasi valore per il parametroq
. - Per corrispondere a qualsiasi URL che contiene la parola
blog
, è possibile utilizzare*blog*
.
È possibile utilizzare anche la sostituzione in Wildcard, il che significa che è possibile fare riferimento a porzioni dell'URL corrispondente utilizzando $1
, $2
, ecc. Ad esempio, se si usa https://example.com/*-world-*
e l'URL è https://example.com/hello-world-goodbye
, allora $1
sarebbe "hello" e $2
sarebbe "goodbye". $0
è anche disponibile per fare riferimento all'intero URL corrispondente.
[!Note] Sebbene la sostituzione sia una caratteristica dell'Espressione Regolare, è possibile utilizzarla anche per Wildcard perché Redirect Web converte internamente Wildcard in Espressione Regolare.
Espressione Regolare
L'Espressione Regolare (Regex) è un potente strumento per la corrispondenza di pattern nel testo, alimentato dal motore di espressioni regolari di Apple descritto qui. Permette di definire un pattern specifico che corrisponde a un insieme di stringhe. Ecco alcuni esempi.
- Per corrispondere a
https://example.com/hello
, è possibile utilizzarehttps://example.com/(.*)
. Questo corrisponderà a qualsiasi stringa dopohttps://example.com/
e la memorizzerà in un gruppo di cattura. - Per corrispondere a
https://example.com/search?q=hello
, è possibile utilizzarehttps://example.com/search\?q=(.*)
. Questo corrisponderà al valore del parametroq
e lo memorizzerà in un gruppo di cattura. - Per corrispondere a qualsiasi URL che contiene la parola
blog
, è possibile utilizzare.*blog.*
.
È possibile fare riferimento ai gruppi di cattura in Reindirizza A o Sostituzione usando $1
, $2
, ... o $0
per fare riferimento all'intera corrispondenza.
Maggiori informazioni sulla sintassi Regex possono essere trovate in risorse come RegExr.