Настройки на правилата
Тази страница предоставя подробна информация за всяка настройка в екрана Редактиране на правило в приложението Redirect Web.
Опции
Тип
Задайте опцията Тип, за да контролирате как приложението обработва пренасочването. Можете да избирате от следните:
- Оригинален (По подразбиране)
- Това използва традиционни уеб API за контрол на пренасочването. Допълнително, използва Tabs API за резервен вариант.
- Във Firefox използва WebRequest API за обработка на пренасочването.
- Можете да използвате всички опции, освен Типове ресурси и Методи на заявка.
- Това е по-бавно от типа Декларативен и може да причини допълнителни мрежови заявки.
- Това използва традиционни уеб API за контрол на пренасочването. Допълнително, използва Tabs API за резервен вариант.
- DNR (Експериментален за Safari):
- Този тип работи много по-бързо от Оригиналния тип, защото не инициира мрежова заявка за изходния URL адрес.
- Това ви позволява да зададете Типове ресурси и Методи на заявка.
- ⚠️ Не можете да използвате някои опции, като Обработка на групи за улавяне и Изключени URL шаблони, тъй като те все още не се поддържат от DNR API.
- ⚠️ В Safari, в момента не можете да включвате вертикални черти (
|) във вашия шаблон за регулярен израз. Подробности - ⚠️ Тъй като DNR API на Safari все още има някои проблеми, ние считаме, че това все още е експериментална функция за Safari. Можете да намерите списъка с всички известни проблеми тук.
Пренасочване от
Опцията Пренасочване от ви позволява да зададете URL шаблон на уеб страници, от които искате да пренасочвате. Можете да изберете Уайлдкард или Регулярен израз.
Например, ако зададете https://example.com/* с Уайлдкард, то съвпада с https://example.com/ или https://example.com/hello.
В опцията Пренасочване към, можете да реферирате цялото съвпадение, използвайки $0 или частични съвпадения, използвайки $1, $2, ... Проверете подробностите в URL шаблон на тази страница.
Типове ресурси
Опцията Типове ресурси ви позволява да зададете категориите уеб заявки, като изображения, JavaScript и стилови таблици, към които се прилага правилото.
Например, ако зададете script, можете да пренасочите JavaScript файловете, заредени от уеб страници.
В момента са налични следните:
main_frame, sub_frame, stylesheet, script, image, font, xmlhttprequest, ping, media, websocket, other
Настройката по подразбиране е main_frame, което е страницата от най-високо ниво, заредена в раздел.
Моля, проверете подробностите за всеки тип ресурс в mdn web docs.
Методи на заявка
Опцията Методи на заявка ви позволява да зададете целевите HTTP методи на изходния URL адрес.
Всички методи са зададени по подразбиране.
Моля, проверете подробностите за всеки метод в mdn web docs.
В Safari тази опция може да не е налична, тъй като имплементацията на Apple за типа DNR изглежда не я обработва в момента. Изпратихме обратна връзка до Apple като FB14502272.
Целеви браузъри
Опцията Целеви браузъри ви позволява да зададете към кой браузър трябва или не трябва да се прилага правилото.
- Има 2 типа браузъри, които можете да изберете:
- Браузъри, които можете да изберете по подразбиране: Можете да изберете Safari, Chrome, Firefox, Edge, Opera, Arc, Brave и Vivaldi по подразбиране. Това не прави разлика между варианти на един и същ браузър, като Safari и Safari Technology Preview.
- Потребителски зададени браузъри: Чрез докосване на бутона Добавяне в изскачащия прозорец можете да изберете всеки браузър, различен от Safari или Safari Technology Preview, който има инсталирано разширението Redirect Web.
- Отметката Всички освен избраните ви позволява да насочите всеки браузър, освен тези, които сте избрали.
Redirect Web не може да различи дали браузърът е Safari или Safari Technology Preview, защото приложението проверява родителския процес на разширението, за да го открие, но тези два браузъра споделят един и същ родителски процес (/sbin/launchd).
Пренасочване към
Опцията Пренасочване към задава целеви URL адрес, към който желаете да пренасочите, от изходния URL адрес, съвпадащ с опцията Пренасочване от. Можете също така да заместите групи за улавяне с $1, $2, ... или цялото съвпадение с $0. Те ви помагат динамично да зададете дестинацията. Проверете подробностите в URL шаблон на тази страница.
Например, ако зададете следното правило:
- Пренасочване от:
https://google.com/*(Уайлдкард) - Пренасочване към:
https://apple.com/$1
и то съвпада с https://google.com/hello, тогава целевият URL адрес ще бъде https://apple.com/hello.
Освен това, можете да променяте текстовете на $1, $2, ... преди да направите замествания. Проверете секцията Обработка на групи за улавяне за подробности.
Можете да зададете персонализирана URL схема за отваряне на приложение. Ето примери за приложения, които поддържат дълбоко свързване:
- 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
Приложение
Ако искате да зададете приложение, с което желаете да отворите целевия URL адрес, използвайте комбинираното поле Приложение. Това е налично само на macOS.
Можете да отваряте само приложение, което поддържа App Sandbox. Също така, уверете се, че приложението поддържа отваряне на URL адреса, който искате да отворите.
Обработка на групи за улавяне
Опцията Обработка на групи за улавяне ви позволява да зададете как да обработвате уловените групи, които можете да заместите в опцията Пренасочване към с $1, $2...
Ето как се правят групи за улавяне:
- Уайлдкард: Текстовете, съвпадащи с
*и?, се улавят автоматично. - Регулярен израз: Текстовете, съвпадащи с част от шаблона вътре в
(), се улавят.
Можете да изберете един или повече от следните процеси:
- URL кодиране/декодиране: Това прилага процентно кодиране или декодиране към група за улавяне. Например, ако кодирате
https://example.com/hello, то се преобразува вhttps%3A%2F%2Fexample.com%2Fhello. Декодирането работи по обратния начин. - Base64 кодиране/декодиране: Това декодира/кодира текст в Base64. Например, можете да кодирате
helloвaGVsbG8=, и да го декодирате обратно вhello. - Замяна на срещания: Това заменя един или повече знака в група, съвпадащи с Цел, със Заместване. Например, ако Групата е
helloи Целта еl, а Заместването еy, то се променя наheyyo.
Това е за обработка на всяка група за улавяне и не засяга кои URL адреси са изключени от Изключени URL шаблони. Заインスタンス, да кажем, че имате това правило:
- Пренасочване от:
https://example.com/(hello.*) - Обработка на групи за улавяне:
- Група:
$1 - Цел:
.*(Регулярен израз) - Заместване:
hello
- Група:
- Изключен URL шаблон:
https://example.com/hello
В този случай, https://example.com/hello_world няма да бъде изключен, докато https://example.com/hello ще бъде изключен.
Изключени URL шаблони
Опцията Изключени URL шаблони ви позволява да зададете URL адресите, които не се пренасочват. Това може да бъде полезно за избягване на цикли на пренасочване или за изключване на определени части от уебсайт от пренасочване.
Можете да зададете изключени URL шаблони, използвайки типове шаблони Регулярен израз или Уайлдкард.
Примери
Опцията Примери ви позволява да тествате вашето правило за пренасочване, като предоставите примерни URL адреси. Чрез добавяне на примерен URL адрес можете да проверите дали правилото работи според очакванията, преди действително да го приложите.
Коментари
Опцията Коментари ви позволява да добавяте всякакви бележки или коментари относно вашето правило за пренасочване. Това може да бъде полезно за проследяване защо сте създали конкретно правило или за предоставяне на контекст за други, които може да преглеждат вашите правила.
Можете да пишете коментари в следните формати:
- Обикновен текст (По подразбиране): Обикновен текст без форматиране.
- Markdown: Можете да използвате синтаксиса на Markdown на GitHub, включително някои разширения, които GFM не поддържа. Например, можете да създавате заглавия, списъци, връзки и други.
- AsciiDoc: Можете да използвате синтаксиса на AsciiDoc, за да форматирате вашите коментари.
URL шаблон
URL шаблоните се използват за съвпадение на URL адреси в опциите Пренасочване от, Изключени URL шаблони и Обработка на групи за улавяне. За да ги зададете, можете да изберете Уайлдкард или Регулярен израз.
Уайлдкард
Уайлдкард е по-прост тип шаблон, който ви позволява да използвате * (съвпада с всичко) и ? (съвпада с всеки един знак) като уайлдкарди. Ето няколко примера:
- За да съвпадне с
https://example.com/hello, можете да използватеhttps://example.com/*. Това ще съвпадне с всеки низ следhttps://example.com/. - За да съвпадне с
https://example.com/search?q=hello, можете да използватеhttps://example.com/search?q=*. Това ще съвпадне с всяка стойност за параметъраq. - За да съвпадне с всеки URL адрес, който съдържа думата
blog, можете да използвате*blog*.
Можете също така да използвате заместване в Уайлдкард, което означава, че можете да реферирате части от съвпадащия URL адрес, използвайки $1, $2 и т.н. Например, ако използвате https://example.com/*-world-* и URL адресът е https://example.com/hello-world-goodbye, тогава $1 ще бъде "hello", а $2 ще бъде "goodbye". $0 също е налично за рефериране на целия съвпадащ URL адрес.
Въпреки че заместването е функция на Регулярния израз, можете да го използвате и за Уайлдкард, защото Redirect Web вътрешно преобразува Уайлдкард в Регулярен израз.
Регулярен израз
Регулярният израз (Regex) е мощен инструмент за съвпадение на шаблони в текст и също така е широко използван в програмирането. Той ви позволява да дефинирате специфичен шаблон, който съвпада с набор от низове. Ето няколко примера.
- За да съвпадне с
https://example.com/hello, можете да използватеhttps://example.com/.*. Това ще съвпадне с всеки низ следhttps://example.com/. - За да съвпадне с
https://example.com/search?q=hello, можете да използватеhttps://example.com/search\?q=(.*). Това ще съвпадне със стойността на параметъраqи ще я съхрани в група за улавяне. След това можете да я реферирате, използвайки$1в опцията Пренасочване към. - За да съвпадне с всеки URL адрес, който съдържа думата
blog, можете да използвате.*blog.*.
Можете да реферирате групите за улавяне в Пренасочване към или Заместване, използвайки $1, $2, ... или $0 за рефериране на цялото съвпадение.
Redirect Web се задвижва от Regex двигателя на Apple.
Повече информация за синтаксиса на Regex може да бъде намерена в ресурси като RegExr.