Настройки на правилата
Тази страница предоставя подробна информация за всяка настройка в екрана Редактиране на правило в уеб приложението Redirect Web.
Опции
Тип
Задайте опцията Тип, за да контролирате как приложението обработва пренасочването. Можете да избирате от следните:
- Оригинален (По подразбиране)
- Това използва традиционни уеб API за контролиране на пренасочването. Освен това използва Tabs API за резервен вариант.
- Във Firefox използва WebRequest API за обработка на пренасочването.
- Можете да използвате всички опции, освен Типове ресурси и Методи на заявката.
- Това е по-бавно от типа Declarative и може да причини допълнителни мрежови заявки.
- Това използва традиционни уеб 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 схема за отваряне на приложение. Това са примери за приложения, които поддържат 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
Приложение
Ако искате да укажете приложение, с което желаете да отворите целевия 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 адрес можете да проверите дали правилото работи както се очаква, преди действително да го приложите.
Коментари
Опцията Коментари ви позволява да добавяте всякакви бележки или коментари относно вашето правило за пренасочване. Това може да бъде полезно за проследяване защо сте създали конкретно правило или за предоставяне на контекст за други, които биха могли да преглеждат вашите правила.
URL модел
Има 3 опции, в които можете да зададете един или повече URL модела. Пренасочване от, Изключени URL модели и Обработка на групи за улавяне. За да ги зададете, можете да изберете Групов символ или Регулярен израз.
Групов символ
Групов символ е по-прост тип модел, който ви позволява да използвате *
(съвпада с всичко) и ?
(съвпада с всеки един символ) като групови символи. Ето няколко примера:
- За да съответства на
https://example.сom/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 адрес.
[!Note] Въпреки че заместването е функция на регулярните изрази, можете да го използвате и за групови символи, защото Redirect Web вътрешно преобразува груповите символи в регулярни изрази.
Регулярен израз
Регулярен израз (Regex) е мощен инструмент за съпоставяне на модели в текст, задвижван от машината за регулярни изрази на Apple, която е описана тук. Тя ви позволява да дефинирате специфичен модел, който съвпада с набор от низове. Ето няколко примера.
- За да съответства на
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.*
.
Можете да реферирате групите за улавяне в Пренасочване към или Заместване, използвайки $1
, $2
, ... или $0
, за да реферирате цялото съвпадение.
Повече информация за синтаксиса на Regex може да бъде намерена в ресурси като RegExr.