Setări regulă
Această pagină oferă informații detaliate despre fiecare setare din ecranul Editare regulă din aplicația Redirect Web.
Opțiuni
Tip
Specificați opțiunea Tip pentru a controla modul în care aplicația gestionează redirecționarea. Puteți alege dintre următoarele:
- Original (Implicit)
- Aceasta utilizează API-uri Web tradiționale pentru a controla redirecționarea. În plus, utilizează API-ul Tabs ca soluție de rezervă.
- În Firefox, utilizează API-ul WebRequest pentru a gestiona redirecționarea.
- Puteți utiliza toate opțiunile, cu excepția Tipuri de resurse și Metode de solicitare.
- Acest tip este mai lent decât tipul Declarativ și poate cauza solicitări de rețea suplimentare.
- Aceasta utilizează API-uri Web tradiționale pentru a controla redirecționarea. În plus, utilizează API-ul Tabs ca soluție de rezervă.
- DNR (Experimental pentru Safari):
- Acest tip funcționează mult mai rapid decât tipul Original, deoarece nu inițiază o solicitare de rețea pentru URL-ul sursă.
- Acesta vă permite să specificați Tipuri de resurse și Metode de solicitare.
- ⚠️ Nu puteți utiliza unele opțiuni, cum ar fi Procesarea grupurilor de captură și Modele URL excluse, deoarece acestea nu au fost încă acceptate de API-ul DNR.
- ⚠️ În Safari, în prezent nu puteți include bare verticale (
|
) în modelul dvs. de expresie regulată. Detalii - ⚠️ Deoarece API-ul DNR al Safari are încă unele probleme, considerăm că este încă o funcționalitate experimentală pentru Safari. Puteți găsi lista tuturor problemelor cunoscute aici.
Redirecționare de la
Opțiunea Redirecționare de la vă permite să specificați un model URL al paginilor web de la care doriți să redirecționați. Puteți alege fie Wildcard, fie Expresie regulată.
De exemplu, dacă specificați https://example.com/*
cu Wildcard, acesta se potrivește cu https://example.com/
sau https://example.com/hello
.
În opțiunea Redirecționare către, puteți face referire la întreaga potrivire utilizând $0
sau la potriviri parțiale utilizând $1
, $2
, ... Verificați detaliile în Model URL pe această pagină.
Tipuri de resurse
Opțiunea Tipuri de resurse vă permite să specificați categoriile de solicitări web, cum ar fi imagini, JavaScript-uri și foi de stil, la care se aplică regula.
De exemplu, dacă setați script
, puteți redirecționa fișierele JavaScript încărcate de paginile web.
În prezent, sunt disponibile următoarele:
main_frame
, sub_frame
, stylesheet
, script
, image
, font
, xmlhttprequest
, ping
, media
, websocket
, other
Setarea implicită este main_frame
, care este pagina de nivel superior încărcată într-o filă.
Vă rugăm să verificați detaliile fiecărui tip de resursă în documentele web mdn.
Metode de solicitare
Opțiunea Metode de solicitare vă permite să setați metodele HTTP țintă ale URL-ului sursă.
Toate metodele sunt setate implicit.
Vă rugăm să verificați detaliile fiecărei metode în documentele web mdn.
În Safari, această opțiune ar putea să nu fie disponibilă, deoarece implementarea Apple pentru tipul DNR nu pare să o gestioneze în prezent. Am trimis feedback către Apple ca FB14502272.
Browsere țintă
Opțiunea Browsere țintă vă permite să specificați browserul la care ar trebui sau nu ar trebui să se aplice regula.
- Există 2 tipuri de browsere pe care le puteți alege:
- Browsere pe care le puteți alege implicit: Puteți alege implicit Safari, Chrome, Firefox, Edge, Opera, Arc, Brave și Vivaldi. Aceasta nu diferențiază variantele aceluiași browser, cum ar fi Safari și Safari Technology Preview.
- Browsere specificate de utilizator: Atingând butonul Adăugare din popover, puteți selecta orice browser, altul decât Safari sau Safari Technology Preview, care are extensia Redirect Web instalată.
- Caseta de selectare Toate, cu excepția celor selectate vă permite să vizați fiecare browser, cu excepția celor pe care le-ați ales.
Redirect Web nu poate diferenția dacă browserul este Safari sau Safari Technology Preview, deoarece aplicația verifică procesul părinte al extensiei pentru a-l detecta, dar aceste două browsere partajează același proces părinte (/sbin/launchd
).
Redirecționare către
Opțiunea Redirecționare către specifică un URL de destinație către care doriți să redirecționați, de la URL-ul sursă potrivit cu opțiunea Redirecționare de la. Puteți, de asemenea, să substituiți grupurile de captură cu $1
, $2
, ... sau întreaga potrivire cu $0
. Acestea vă ajută să specificați dinamic destinația. Verificați detaliile în Model URL pe această pagină.
De exemplu, dacă setați următoarea regulă:
- Redirecționare de la:
https://google.com/*
(Wildcard) - Redirecționare către:
https://apple.com/$1
și se potrivește cu https://google.com/hello
, atunci URL-ul de destinație va fi https://apple.com/hello
.
În plus, puteți modifica textele $1
, $2
, ... înainte de a face substituții. Verificați secțiunea Procesarea grupurilor de captură pentru detalii.
Puteți specifica o schemă URL personalizată pentru a deschide o aplicație. Acestea sunt exemple de aplicații care acceptă 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ție
Dacă doriți să specificați o aplicație pe care doriți să o deschideți URL-ul de destinație, utilizați caseta combinată Aplicație. Aceasta este disponibilă numai pe macOS.
Puteți deschide numai o aplicație care acceptă App Sandbox. De asemenea, asigurați-vă că aplicația acceptă deschiderea URL-ului pe care doriți să-l deschideți.
Procesarea grupurilor de captură
Opțiunea Procesarea grupurilor de captură vă permite să specificați modul de procesare a grupurilor capturate pe care le puteți substitui în opțiunea Redirecționare către cu $1
, $2
...
Iată cum se creează grupuri de captură:
- Wildcard: Textele potrivite cu
*
și?
sunt capturate automat. - Expresie regulată: Textele potrivite cu o parte a modelului din interiorul
()
sunt capturate.
Puteți alege unul sau mai multe dintre următoarele procese:
- Codificare/Decodificare URL: Aceasta aplică codificarea procentuală sau decodificarea unui grup de captură. De exemplu, dacă codificați
https://example.com/hello
, acesta este convertit înhttps%3A%2F%2Fexample.com%2Fhello
. Decodificarea funcționează invers. - Codificare/Decodificare Base64: Aceasta decodifică/codifică un text în Base64. De exemplu, puteți codifica
hello
înaGVsbG8=
, și decodifica înapoi înhello
. - Înlocuire apariții: Aceasta înlocuiește unul sau mai multe caractere dintr-un grup, potrivite de o Țintă, cu o Înlocuire. De exemplu, dacă Grupul este
hello
și Ținta estel
și Înlocuirea estey
, acesta este modificat înheyyo
.
Aceasta este pentru procesarea fiecărui grup de captură și nu afectează URL-urile excluse de Modele URL excluse. De exemplu, să presupunem că aveți această regulă:
- Redirecționare de la:
https://example.com/(hello.*)
- Procesarea grupurilor de captură:
- Grup:
$1
- Țintă:
.*
(Expresie regulată) - Înlocuire:
hello
- Grup:
- Model URL exclus:
https://example.com/hello
În acest caz, https://example.com/hello_world
nu va fi exclus, în timp ce https://example.com/hello
va fi exclus.
Modele URL excluse
Opțiunea Modele URL excluse vă permite să specificați URL-urile care nu sunt redirecționate. Acest lucru poate fi util pentru a evita buclele de redirecționare sau pentru a exclude anumite părți ale unui site web de la redirecționare.
Puteți specifica modele URL excluse utilizând fie tipuri de modele Expresie regulată, fie Wildcard.
Exemple
Opțiunea Exemple vă permite să testați regula de redirecționare furnizând URL-uri eșantion. Adăugând un URL eșantion, puteți verifica dacă regula funcționează conform așteptărilor înainte de a o aplica efectiv.
Comentarii
Opțiunea Comentarii vă permite să adăugați orice note sau comentarii despre regula dvs. de redirecționare. Acest lucru poate fi util pentru a ține evidența motivului pentru care ați creat o anumită regulă sau pentru a oferi context pentru alții care ar putea vizualiza regulile dvs.
Puteți scrie comentarii în următoarele formate:
- Text simplu (Implicit): Text simplu fără formatare.
- Markdown: Puteți utiliza sintaxele Markdown de pe GitHub, inclusiv unele extensii pe care GFM nu le acceptă. De exemplu, puteți crea titluri, liste, linkuri și multe altele.
- AsciiDoc: Puteți utiliza sintaxele AsciiDoc pentru a formata comentariile.
Model URL
Modelele URL sunt utilizate pentru a potrivi URL-uri în opțiunile Redirecționare de la, Modele URL excluse și Procesarea grupurilor de captură. Pentru a le specifica, puteți alege fie Wildcard, fie Expresie regulată.
Wildcard
Wildcard este un tip de model mai simplu care vă permite să utilizați *
(se potrivește cu orice) și ?
(se potrivește cu orice caracter unic) ca wildcard-uri. Iată câteva exemple:
- Pentru a potrivi
https://example.com/hello
, puteți utilizahttps://example.com/*
. Aceasta va potrivi orice șir dupăhttps://example.com/
. - Pentru a potrivi
https://example.com/search?q=hello
, puteți utilizahttps://example.com/search?q=*
. Aceasta va potrivi orice valoare pentru parametrulq
. - Pentru a potrivi orice URL care conține cuvântul
blog
, puteți utiliza*blog*
.
Puteți utiliza, de asemenea, substituția în Wildcard, ceea ce înseamnă că puteți face referire la porțiuni ale URL-ului potrivit utilizând $1
, $2
, etc. De exemplu, dacă utilizați https://example.com/*-world-*
, iar URL-ul este https://example.com/hello-world-goodbye
, atunci $1
ar fi "hello" și $2
ar fi "goodbye". $0
este, de asemenea, disponibil pentru a face referire la întregul URL potrivit.
Deși substituția este o caracteristică a expresiilor regulate, o puteți utiliza și pentru Wildcard, deoarece Redirect Web convertește intern Wildcard în expresie regulată.
Expresie regulată
Expresia regulată (Regex) este un instrument puternic pentru potrivirea modelelor în text și este, de asemenea, utilizată pe scară largă în programare. Vă permite să definiți un model specific care se potrivește cu un set de șiruri. Iată câteva exemple.
- Pentru a potrivi
https://example.com/hello
, puteți utilizahttps://example.com/.*
. Aceasta va potrivi orice șir dupăhttps://example.com/
. - Pentru a potrivi
https://example.com/search?q=hello
, puteți utilizahttps://example.com/search\?q=(.*)
. Aceasta va potrivi valoarea parametruluiq
și o va stoca într-un grup de captură. Puteți apoi să o referențiați utilizând$1
în opțiunea Redirecționare către. - Pentru a potrivi orice URL care conține cuvântul
blog
, puteți utiliza.*blog.*
.
Puteți face referire la grupurile de captură din Redirecționare către sau Înlocuire utilizând $1
, $2
, ... sau $0
pentru a face referire la întreaga potrivire.
Redirect Web este alimentat de motorul Regex al Apple.
Mai multe informații despre sintaxa Regex pot fi găsite în resurse precum RegExr.