Přeskočit na hlavní obsah

Nastavení pravidel

Tato stránka poskytuje podrobné informace o každém nastavení na obrazovce Upravit pravidlo v aplikaci RedirectWeb.

Možnosti

Typ

Nastavte volbu Typ pro řízení způsobu, jakým aplikace zpracovává přesměrování. Můžete si vybrat z těchto možností:

  • Původní (Výchozí)
    • Používá tradiční webová rozhraní API k řízení přesměrování. Dále používá rozhraní Tabs API jako zálohu (fallback).
    • Můžete použít všechny možnosti kromě Typů prostředků a Metod požadavků.
    • ⚠️ Tento typ je pomalejší než Declarative a může způsobovat nadbytečné síťové požadavky.
  • DNR (Experimentální pro Safari):
    • Tento typ pracuje mnohem rychleji než typ Původní, protože neiniciuje síťový požadavek pro zdrojovou URL.
    • Umožňuje specifikovat Typy prostředků a Metody požadavků.
    • ⚠️ Nemůžete použít některé možnosti, například Zpracování zachycených skupin a Vyloučené vzory URL, protože zatím nejsou podporovány rozhraním DNR API.
    • ⚠️ V Safari v současné době nemůžete ve vzoru regulárního výrazu použít svislou čáru (|). Podrobnosti
    • ⚠️ Vzhledem k tomu, že DNR API v Safari má stále určité problémy, považujeme tuto funkci v Safari za experimentální. Seznam všech známých problémů naleznete zde.

Přesměrovat z

Volba Přesměrovat z umožňuje specifikovat vzor URL webových stránek, ze kterých chcete přesměrovat. Můžete si vybrat buď Wildcard, nebo Regulární výraz.

Pokud například zadáte https://example.com/* pomocí Wildcard, bude odpovídat https://example.com/ nebo https://example.com/hello.

note

V možnosti Přesměrovat na můžete odkazovat na celou shodu pomocí $0 nebo na části shody pomocí $1, $2, ... Podrobnosti naleznete v části Vzor URL na této stránce.

Typy prostředků

Podporované typy: DNR

Volba Typy prostředků umožňuje specifikovat kategorie webových požadavků, jako jsou obrázky, JavaScripty a styly, na které se pravidlo vztahuje. Pokud například nastavíte script, můžete přesměrovat soubory JavaScript načítané webovými stránkami.

Aktuálně jsou k dispozici tyto typy: main_frame, sub_frame, stylesheet, script, image, font, xmlhttprequest, ping, media, websocket, other

Výchozí nastavení je main_frame, což je stránka nejvyšší úrovně načtená do karty.

Podrobnosti o každém typu prostředku si prosím přečtěte v dokumentaci mdn web docs.

Metody požadavků

Podporované typy: DNR

Volba Metody požadavků umožňuje nastavit cílové HTTP metody zdrojové URL.

Ve výchozím nastavení jsou nastaveny všechny metody.

Podrobnosti o každé metodě naleznete v dokumentaci mdn web docs.

warning

V Safari nemusí být tato volba dostupná, protože implementace typu DNR od Applu ji v současné době pravděpodobně nezpracovává. Odeslali jsme Applu zpětnou vazbu pod označením FB14502272.

Cílové prohlížeče

Podporované platformy: macOS

Volba Cílové prohlížeče umožňuje specifikovat, na který prohlížeč se má nebo nemá pravidlo aplikovat.

  • Můžete si vybrat ze dvou typů prohlížečů:
    • Prohlížeče dostupné ve výchozím nastavení: Safari, Chrome, Firefox, Edge, Opera, Arc, Brave a Vivaldi. Tato volba nerozlišuje varianty stejného prohlížeče, například Safari a Safari Technology Preview.
    • Uživatelem specifikované prohlížeče: Klepnutím na tlačítko Přidat v popoveru můžete vybrat jakýkoli jiný prohlížeč kromě Safari nebo Safari Technology Preview, který má nainstalované rozšíření RedirectWeb.
  • Zaškrtávací políčko Vše kromě vybraných umožňuje cílit na všechny prohlížeče kromě těch, které jste zvolili.
warning

RedirectWeb nedokáže rozlišit, zda je prohlížečem Safari, nebo Safari Technology Preview, protože aplikace pro detekci kontroluje nadřazený proces rozšíření, ale tyto dva prohlížeče sdílejí stejný nadřazený proces (/sbin/launchd).

Přesměrovat na

Volba Přesměrovat na specifikuje cílovou URL, na kterou chcete přesměrovat ze zdrojové URL odpovídající volbě Přesměrovat z. Můžete také nahrazovat zachycené skupiny pomocí $1, $2, ... nebo celou shodu pomocí $0. To vám pomůže dynamicky definovat cíl. Podrobnosti naleznete v části Vzor URL na této stránce.

Pokud například nastavíte následující pravidlo:

  • Přesměrovat z: https://google.com/* (Wildcard)
  • Přesměrovat na: https://apple.com/$1

a shoda bude https://google.com/hello, potom cílová URL bude https://apple.com/hello.

Kromě toho můžete texty $1, $2, ... před provedením nahrazení upravit. Podrobnosti naleznete v části Zpracování zachycených skupin.

tip

Můžete zadat vlastní schéma URL pro otevření aplikace. Zde jsou příklady aplikací, které podporují deep linking:

  • Figma: figma://file/Vase_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/Vase_ID_Poznamky
  • Slack: slack://open

Aplikace

Podporované typy: Original Podporované platformy: macOS

Chcete-li specifikovat aplikaci, ve které si přejete otevřít cílovou URL, použijte rozbalovací seznam Aplikace. Tato možnost je dostupná pouze v systému macOS.

warning

Můžete otevřít pouze aplikaci, která podporuje App Sandbox. Také se ujistěte, že aplikace podporuje otevření dané URL.

Zpracování zachycených skupin

Podporované typy: Original

Volba Zpracování zachycených skupin umožňuje specifikovat, jak se mají zpracovat zachycené skupiny, které můžete v možnosti Přesměrovat na nahradit pomocí $1, $2 atd.

Zde je návod, jak vytvořit zachycené skupiny:

  • Wildcard: Texty odpovídající * a ? jsou zachyceny automaticky.
  • Regulární výraz: Texty odpovídající části vzoru uvnitř () jsou zachyceny.

Můžete si vybrat jeden nebo více z následujících procesů:

  • URL Encode/Decode: Aplikuje procentuální kódování nebo dekódování na zachycenou skupinu. Pokud například zakódujete https://example.com/hello, převede se na https%3A%2F%2Fexample.com%2Fhello. Dekódování funguje opačně.
  • Base64 Encode/Decode: Zakóduje nebo dekóduje text do/z formátu Base64. Můžete například zakódovat hello na aGVsbG8= a dekódovat jej zpět na hello.
  • Nahradit výskyty: Nahradí jeden nebo více znaků ve skupině, které odpovídají Cíli, Náhradou. Pokud je například Skupina hello, Cíl je l a Náhrada je y, změní se na heyyo.
note

Toto slouží ke zpracování každé zachycené skupiny a neovlivňuje to, které URL jsou vyloučeny pomocí Vyloučených vzorů URL. Předpokládejme například, že máte toto pravidlo:

  • Přesměrovat z: https://example.com/(hello.*)
  • Zpracování zachycených skupin:
    • Skupina: $1
    • Cíl: .* (Regulární výraz)
    • Náhrada: hello
  • Vyloučený vzor URL: https://example.com/hello

V tomto případě https://example.com/hello_world nebude vyloučena, zatímco https://example.com/hello vyloučena bude.

Vyloučené vzory URL

Podporované typy: Original

Volba Vyloučené vzory URL umožňuje specifikovat adresy URL, které nebudou přesměrovány. To může být užitečné pro zamezení smyčkám přesměrování nebo pro vyloučení určitých částí webu z přesměrování.

Vyloučené vzory URL můžete specifikovat pomocí typu vzoru Regulární výraz nebo Wildcard.

Příklady

Volba Příklady umožňuje otestovat vaše pravidlo přesměrování zadáním ukázkových URL. Přidáním ukázkové URL můžete zkontrolovat, zda pravidlo funguje podle očekávání, než jej skutečně použijete.

Pokročilé

  • [DNR] Přesměrování hlavního rámce (Main Frame Redirection): Tato možnost je dostupná pouze pro typ DNR. Umožňuje specifikovat, jak se má zpracovávat přesměrování pro typ prostředku main_frame. Dostupné možnosti jsou:
    • Raw: Přesměruje hlavní rámec na specifikovanou URL bez jakýchkoli úprav.
    • Přes přechodovou stránku (Via Intermediate Page): Přesměruje hlavní rámec na přechodovou stránku, která následně přesměruje na specifikovanou cílovou URL. To je užitečné pro otevírání aplikací pomocí deep linking, protože přechodová stránka může zpracovávat složitější logiku přesměrování.

Komentáře

Volba Komentáře umožňuje přidávat k pravidlu přesměrování libovolné poznámky nebo komentáře. To může být užitečné pro sledování toho, proč jste konkrétní pravidlo vytvořili, nebo pro poskytnutí kontextu ostatním, kteří si mohou vaše pravidla prohlížet.

Komentáře můžete psát v následujících formátech:

  • Prostý text (Výchozí): Jednoduchý text bez formátování.
  • Markdown: Můžete použít syntaxe Markdownu od GitHubu, včetně některých rozšíření, která GFM nepodporuje. Můžete například vytvářet nadpisy, seznamy, odkazy a další.
  • AsciiDoc: Pro formátování komentářů můžete použít syntaxi AsciiDoc.

Vzor URL

Vzory URL se používají k porovnávání adres URL v možnostech Přesměrovat z, Vyloučené vzory URL a Zpracování zachycených skupin. K jejich zadání si můžete vybrat buď Wildcard, nebo Regulární výraz.

Wildcard

Wildcard je jednodušší typ vzoru, který umožňuje používat * (odpovídá čemukoli) a ? (odpovídá jakémukoli jednomu znaku) jako zástupné znaky. Zde je několik příkladů:

  • Chcete-li, aby odpovídala adresa https://example.com/hello, můžete použít https://example.com/*. To bude odpovídat jakémukoli řetězci za https://example.com/.
  • Chcete-li, aby odpovídala adresa https://example.com/search?q=hello, můžete použít https://example.com/search?q=*. To bude odpovídat jakékoli hodnotě parametru q.
  • Chcete-li, aby odpovídala jakákoli URL obsahující slovo blog, můžete použít *blog*.

Nahrazování můžete používat i u typu Wildcard, což znamená, že můžete odkazovat na části odpovídající URL pomocí $1, $2 atd. Pokud například použijete https://example.com/*-world-* a URL je https://example.com/hello-world-goodbye, pak $1 bude „hello“ a $2 bude „goodbye“. K dispozici je také $0 pro odkaz na celou odpovídající URL.

note

Přestože je nahrazování funkcí regulárních výrazů, můžete jej použít i pro Wildcard, protože RedirectWeb interně převádí Wildcard na regulární výraz.

Regulární výraz

Regulární výraz (Regex) je výkonný nástroj pro porovnávání vzorů v textu a je také široce používán v programování. Umožňuje definovat specifický vzor, který odpovídá sadě řetězců. Zde je několik příkladů.

  • Chcete-li, aby odpovídala adresa https://example.com/hello, můžete použít https://example.com/.*. To bude odpovídat jakémukoli řetězci za https://example.com/.
  • Chcete-li, aby odpovídala adresa https://example.com/search?q=hello, můžete použít https://example.com/search\?q=(.*). To zachytí hodnotu parametru q a uloží ji do zachycené skupiny. Poté na ni můžete odkazovat pomocí $1 v možnosti Přesměrovat na.
  • Chcete-li, aby odpovídala jakákoli URL obsahující slovo blog, můžete použít .*blog.*.

Na zachycené skupiny můžete odkazovat v polích Přesměrovat na nebo Náhrada pomocí $1, $2, ... nebo $0 pro odkaz na celou shodu.

RedirectWeb využívá Regex engine od Applu.

Více informací o syntaxi regulárních výrazů naleznete ve zdrojích, jako je RegExr.